删除右键单击Outlook 2007中的打印上下文菜单

问题描述:

当右键单击带有VBA的电子邮件时,是否有任何方法可以从上下文菜单中删除打印项目?删除右键单击Outlook 2007中的打印上下文菜单

我永远右键单击以回复电子邮件,只是意外地点击了Print并让Outlook直接将它直接发送到打印机,而不是我可以阻止它。

alt text

注:我使用Outlook 2007中

基于链路第三文化孩子提供,这是非常简单的。 在下面的示例中,我检查项目的类型,以便它仅影响电子邮件而不影响日历项目。 要在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

尊者是样本如何programaticly与Outlook工作: How to: Customize an Item Context Menu