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

6
有没有办法使用VBA从右键单击电子邮件的上下文菜单中删除“打印”选项?
我经常右键单击以回复电子邮件,但不小心点击“打印”,结果Outlook立即将其发送到打印机,我来不及停止它。
注意:我正在使用Outlook 2007。
2个回答

9

根据TcKs提供的链接,这很简单。在下面的示例中,我检查项目的类型,以便它仅影响电子邮件而不是日历项目。要在Outlook中输入代码,请键入Alt + F11,然后在项目窗格中扩展Microsoft Office Outlook对象。然后双击ThisOutlookSession。然后将此代码粘贴到代码窗口中。我不喜欢像这样检查标题,因为您可能会遇到国际化问题。但我没有看到任何操作ID或命令上的内容。有一个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

不幸的是,这在Outlook 2013中不再起作用了,尽管我已经用“&快速打印”替换了“&打印”(这是Outlook 2013中上下文菜单条目的名称)。 - fero
@fero 你的意思是在更改为&Quick Print后它可以工作吗?如果不行,你是否找到了Outlook 2013的解决方案?谢谢! - cxw
不,我的意思是尽管我将其更改为“快速打印”,但它仍然无法正常工作。而且,我还没有找到解决方案。(现在使用Outlook 2016) - fero

8

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接