有没有办法使用VBA和XML根据文件名中的字符串向Office 2010功能区添加按钮?

我使用自定义UI编辑器,使用XML,VBA的组合,对Microsoft Word中的Office 2010功能区进行了一些相当广泛的自定义.

我想要建立的是,如果可以根据当前文件名中是否找到某个字符串,向功能区添加按钮.例如:

>如果fileName包含“PM”(可能使用InStr方法)
>添加按钮到功能区

任何指针,示例或文章将非常感激.我做了一些挖掘,但还没有找到合适的方法.

我希望在XML中使用Onload属性来触发检测文件名的相关子并相应地操作功能区.

提前谢谢了.

最佳答案
是.您可以在运行时使用VBA更改功能区的布局.

您必须在customUI-xml中添加控件,然后在引用VBA函数的控件中添加getVisible标签 – 您可以从自定义UI编辑器获取VBA函数的正确签名.然后该函数返回一个布尔值,如果您希望控件显示,则返回True,否则返回False.您可以评估文件名或您想要的任何其他内容,然后返回所需的值.

示例customUI:

<button id="btnTest" label="Try me" imageMso="FileMarkAsFinal" size="large" supertip="I dare you!" getVisible="GetBtnTestVisible" />

示例VBA:

'Callback for btnTest getVisible
Sub GetBtnTestVisible(control As IRibbonControl, ByRef returnedVal)
    'Evaluate and set returnedVal accordingly
    returnedVal = True  'Control visible
    returnedVal = False 'Control hidden
End Sub

转载注明原文:有没有办法使用VBA和XML根据文件名中的字符串向Office 2010功能区添加按钮? - 代码日志