2017-01-18 20 views
0

会社はOutlookでカスタムリボンボタンを要求し、電子メールの機密性を「プライベート」に設定しました。VBA Outlookリボンのカスタマイズ - ボタンの名前とアイコンが感度状態を反映して変更される

Outlookオプション付きのOutlookリボンに新しいボタンを作成し、次にその下にマクロを割り当てました。しかし、ボスは、MsgBoxの出力ではなく、現在のプライバシー状態を反映するために名前とアイコンを変更するボタンが必要です。

私はXMLで変更する必要があるが、以下のVBAでこれをどのように実装するかはわかりません。私はこれに正しい方法で近づいていますか?

私が作ったカスタムボタンの写真です。 Button Pic

の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 

答えて

0

あなたリボンXMLは値をハードコーディングするのではなく、ボタンのキャプションと画像を返すことのコールバックを指定します(もちろん、それらを実装する)必要があります。 IRibbonUI.Invalidateを呼び出すことによって、強制的にコントロールを更新することができます。 IRibbonUIは、リボンのOnLoadコールバックから取得できます。

+0

返信いただきありがとうございます。 XMLファイルが見つかりました。私がVBAとXMLでかなり新しくなったことを御了承ください。xmlへのコールバックの使用例をいくつかご存じですか? – Relo

+0

私はVBAでそれをしたことはありませんが、私は考えていると思います - ボタンの場合、ラベル属性を指定する代わりにgetLabel属性を指定し、文字列を返すコールバックの名前を指定します。 Outlookのボタンキャプションを更新するために、IRibbonUI.Invalidateを呼び出します。 –

関連する問題