使用自定义 UI 编辑器自己制作自定义功能区非常容易。注意 - 这在 Mac 上不起作用,因为我们在 Microsoft 的朋友似乎并不认为能够在两个平台上以相同的方式控制加载项的外观很重要。给我买点啤酒,我会告诉你我的真实想法......
无论如何,您不需要 Visual Studio 路由。去吧
http://www.rondebruin.nl/win/s2/win001.htm
Ron de Bruin 就如何做到这一点进行了出色的演练。只需按照步骤操作即可 - 它有效。您编辑源代码(在转换为插件之前),添加一些描述所需功能区组件的 XML。您可以隐藏现有组件,将新组添加到现有功能区,创建自己的选项卡...制作好看的图标甚至非常容易,让您的按钮看起来很酷/个性化/专业(我使用 Axialis 图标工作室设计了一些图标相当自豪....)
如果您遇到困难,请询问!
更新这里是一个 XML 示例,它在 Home 选项卡之后生成一个新选项卡,并放置两组按钮:
<mso:customUI xmlns:mso="http://schemas.microsoft.com/office/2009/07/customui">
<mso:ribbon>
<mso:qat />
<mso:tabs>
<mso:tab id="myTab" label="Awesome functions" insertAfterMso="TabHome">
<mso:group id="myGroup1" label="Awesome math" autoScale="true">
<mso:button id="id_sum" label="sum" image="sigma" size="large" onAction="UI_doMath" />
<mso:button id="id_mult" label="multiply" image="times" size="large" onAction="UI_doMath" />
<mso:button id="id_var" label="variance" image="variance" size="large" onAction="UI_doMath" />
</mso:group>
<mso:group id="myGroup2" label="Awesome text" autoScale="true">
<mso:button id="id_bold" label="really bold" image="bold" size="large" onAction="UI_doText" />
<mso:button id="id_italic" label="italicize" image="italic" size="large" onAction="UI_doText" />
</mso:group>
</mso:tab>
</mso:tabs>
</mso:ribbon>
</mso:customUI>
如您所见,每个组调用自己的函数 - 一组调用UI_doMath,另一组调用UI_doText。潜艇的签名看起来有点像这样:
Sub UI_doMath(controlID As String)
Select Case controlID
Case "id_sum"
call sumTheStuff
Case "id_mult"
call multiplyStuff
Case "id_var"
call computeVariance
Case Else
MsgBox "Unknown button: '" & controlID & "' was clicked!"
Exit Sub
End Select
End Sub
这样,一个例程就是功能区组中所有按钮的入口点。我认为使代码更易于维护。对我来说尤其如此,因为我实际上有一个“独立于平台”的版本——也就是说,无论你是从菜单(在 Mac 上)还是从功能区(在 PC 上)选择一个项目,你最终都会得到相同的功能。但这是一种改进,我希望你不需要。