VBA Outlook 功能区自定义 - 按钮名称和图标更改以反映敏感度状态



公司要求在Outlook中使用自定义功能区按钮,以将电子邮件敏感度设置为"私人"。

使用Outlook选项在Outlook功能区中创建了一个新按钮,然后在下面分配了宏。但是,Boss 想要一个更改名称和图标以反映当前隐私状态的按钮,而不是 MsgBox 输出。

我已经读到我需要对 XML 进行更改,但不确定如何使用下面的 VBA 实现这一点。我这样做的方式是否正确?

这是我制作的自定义按钮的图片。按钮图片

VBA 模块

Sub TogglePrivateSensitivity()
If ActiveInspector.CurrentItem.Sensitivity = Outlook.OlSensitivity.olPrivate   Then
ActiveInspector.CurrentItem.Sensitivity = Outlook.OlSensitivity.olNormal
MsgBox ("This email is now public")
Else
ActiveInspector.CurrentItem.Sensitivity = Outlook.OlSensitivity.olPrivate
MsgBox ("This email is now private")
End If
End Sub
功能

区 XML 必须指定返回按钮标题和图像的回调(当然还要实现它们),而不是对值进行硬编码。可以通过调用 IRibbonUI.Invalidate 来强制刷新控件。IRibbonUI 可以从功能区的 OnLoad 回调中检索。

最新更新