是的。您可以在运行时使用 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