VBA でメールを右クリックしたときに、コンテキスト メニューから [印刷] 項目を削除する方法はありますか?
私はずっと右クリックして電子メールに返信していますが、うっかりクリックPrint
してしまうと、Outlook がそれを停止するよりも早くプリンタに直接送信してしまいます。
注: Outlook 2007 を使用しています。
VBA でメールを右クリックしたときに、コンテキスト メニューから [印刷] 項目を削除する方法はありますか?
私はずっと右クリックして電子メールに返信していますが、うっかりクリックPrint
してしまうと、Outlook がそれを停止するよりも早くプリンタに直接送信してしまいます。
注: Outlook 2007 を使用しています。
TcK が提供するリンクに基づいて、それは非常に簡単でした。以下の例では、アイテムのタイプをチェックして、電子メールのみに影響し、予定表アイテムには影響しないようにします。Outlook でコードを入力するには、Alt + F11 を入力し、[プロジェクト] ウィンドウで Microsoft Office Outlook オブジェクトを展開します。次に、ThisOutlookSession をダブルクリックします。次に、このコードをコード ウィンドウに貼り付けます。国際化の問題が発生する可能性があるため、このようなキャプションをチェックするのは好きではありません。しかし、コマンドに ActionID などは表示されませんでした。FaceID がありましたが、それは単なるプリンター アイコンの ID です。
Private Sub Application_ItemContextMenuDisplay(ByVal CommandBar As Office.CommandBar, ByVal Selection As Selection)
Dim cmdTemp As Office.CommandBarControl
If Selection.Count > 0 Then
Select Case TypeName(Selection.Item(1))
Case "MailItem"
For Each cmdTemp In CommandBar.Controls
If cmdTemp.Caption = "&Print" Then
cmdTemp.Delete
Exit For
End If
Next cmdTemp
Case Else
'Debug.Print TypeName(Selection.Item(1))
End Select
End If
End Sub
Thera は、Outlook をプログラムで操作する方法のサンプルです: 方法: アイテムのコンテキスト メニューをカスタマイズする