6

VBA でメールを右クリックしたときに、コンテキスト メニューから [印刷] 項目を削除する方法はありますか?

私はずっと右クリックして電子メールに返信していますが、うっかりクリックPrintしてしまうと、Outlook がそれを停止するよりも早くプリンタに直接送信してしまいます。

代替テキスト

注: Outlook 2007 を使用しています。

4

2 に答える 2

9

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
于 2009-02-24T14:57:31.363 に答える
8

Thera は、Outlook をプログラムで操作する方法のサンプルです: 方法: アイテムのコンテキスト メニューをカスタマイズする

于 2008-09-23T15:52:04.453 に答える