2008-09-23 57 views
5

當右鍵單擊帶有VBA的電子郵件時,是否有任何方法可以從上下文菜單中刪除打印項目?刪除右鍵單擊Outlook 2007中的打印上下文菜單

我永遠右鍵單擊以回覆電子郵件,只是意外地點擊了Print並讓Outlook直接將它直接發送到打印機,而不是我可以阻止它。

alt text

注:我使用Outlook 2007中

回答

8

基於鏈路第三文化孩子提供,這是非常簡單的。 在下面的示例中,我檢查項目的類型,以便它僅影響電子郵件而不影響日曆項目。 要在Outlook中輸入代碼,請鍵入Alt + F11,然後展開項目窗格中的Microsoft Office Outlook對象。然後雙擊ThisOutlookSession。然後將此代碼粘貼到代碼窗口中。我不喜歡像這樣檢查字幕,因爲您可能遇到國際化問題。但是我沒有在Command上看到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 
+0

不幸的是,這並不Outlook 2013中工作了,雖然我取代`&Print`用`&快速Print`(這是Outlook 2013中的上下文菜單項的名稱)。 – fero 2014-08-08 09:58:48

相關問題