4

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

我要确定的是,是否可以根据在当前文件名中是否找到某个字符串来向功能区添加按钮。例如:

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

任何指针、示例或文章将不胜感激。我已经进行了一些挖掘,但还没有找到合适的方法。

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

提前谢谢了。

4

2 回答 2

3

是的。您可以在运行时使用 VBA 更改功能区的布局。

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

示例自定义UI:

<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
于 2012-06-29T10:48:09.637 回答
0

通过抓取命令行获取文件名: 我对超级用户的回答
然后您应该能够根据从该例程返回的内容设置工具栏按钮的可见状态

于 2012-06-20T13:15:38.273 回答