如何在 customUI 功能区中显示版本 #

How to display a version # in a customUI ribbon

我有一个 Excel VBA 项目,我希望发布更新。它有一个自定义 UI 功能区。出于支持目的(屏幕截图),我想在功能区中显示应用程序的版本号,这将从隐藏的 sheet 中读取。我希望只用一个标签控件来做到这一点。但是似乎没有标签控件具有回调。我想我会尝试使用没有 on_change 功能的 Edit Box。除非我用错了,否则 InvalidateControl 仍然允许我输入 Edit Box.

Sub GetVersion(control As IRibbonControl, ByRef sVversion)
    sVversion = ThisWorkbook.Sheets("Sheet1").Range("A1").Text
    myRibbon.InvalidateControl "GetVersion"
End Sub

有人有什么建议吗?

我考虑过的其他想法是在 MsgBoxUserForm 中显示版本的按钮控件,或者没有功能但仅显示 SuperTip 的按钮。

labelControl 提供以下回调和属性:

enabled, getEnabled, getLabel, getScreentip, getShowLabel, getSupertip, getVisible, id, idMso, idQ, insertAfterMso, insertAfterQ, insertBeforeMso, insertBeforeQ, label, screentip, showLabel, supertip, tag, visible

getLabel 回调获取控件的标签并具有以下签名:

C#: string GetLabel(IRibbonControl control)

VBA: Sub GetLabel(control As IRibbonControl, ByRef label)

C++: HRESULT GetLabel([in] IRibbonControl *pControl, [out, retval] BSTR *pbstrLabel)

Visual Basic: Function GetLabel(control As IRibbonControl) As String

您似乎刚刚选择了错误的签名,Office 运行时无法找到功能区中指定的回调 XML。

您可以在以下系列文章中阅读有关 Fluent UI(又名功能区 UI)的更多信息: