使用 VSTO Visual Studio 制作的 Excel 功能区按钮链接 Excel VBA 宏

问题描述 投票:0回答:1

我想为多个用户创建自定义功能区 Excel 应用程序。但是,我只能使用 Visual Studio 的 VSTO 包。我无法使用 RibbonX 编辑器应用程序或自定义 UI 编辑器应用程序(公司政策)。我有一个包含多个宏的 .xlsm Excel 文档。我希望能够轻松运行宏。

在 Visual Studio 中,我很难处理回调。我不知道如何将我的 Excel VBA 宏与我设计的功能区按钮连接起来。我不知道如何用 C 或 vb.Net 编写代码

这里是一个xml示例代码:

<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
    <ribbon startFromScratch="false">
        <tabs>

            <tab id="customTab" label ="Custom Ribbon">
                <group id="CustomGroup" label ="Change Reference">
                    <button id="Button1" size="large" label ="Will It Work?" onAction ="Test1"/>
                </group>
            </tab>

        </tabs>
    </ribbon>
</customUI>

这里是一个回调示例 vb.net 代码:

    Public Sub Ribbon_Load(ByVal ribbonUI As Office.IRibbonUI)
        Me.ribbon = ribbonUI
    End Sub

    Public Sub Test1(ByVal Control As Office.IRibbonControl)
    End Sub

这是一个示例 VBA 宏代码:

Sub Test1()
MsgBox "I hope this works"
End Sub

我尝试用 C、vb.net 和 xml 构建 excel 功能区。但是,我总是卡在同一个步骤。我无法将 vba 宏与设计的功能区按钮链接起来。

excel vb.net vsto office-addins ribbonx
1个回答
0
投票

最简单的方法是使用接近VBA语法的VB.NET创建VSTO插件。您可以在其中重复使用功能区 XML 标记,只需将回调添加到加载项。 演练:使用功能区 XML 创建自定义选项卡 解释了如何使用功能区 XML 标记创建自定义 UI。请注意,您可以将 Visual Studio 中可用的功能区设计器与 VSTO 一起使用,然后将创建的 UI 导出到功能区 XML。有关详细信息,请参阅如何:将功能区从功能区设计器导出到功能区 XML

请参阅演练:为 Excel 创建您的第一个 VSTO 加载项 以开始在 Visual Studio 中使用加载项。

© www.soinside.com 2019 - 2024. All rights reserved.