从Outlook 2007中删除右键单击打印上下文菜单
时间:2020-03-06 14:36:23 来源:igfitidea点击:
用VBA右键单击电子邮件时,是否有任何方法可以从上下文菜单中删除"打印"项?
我永远用鼠标右键单击以回复电子邮件,只是不小心单击了"打印",并使Outlook将其直接发送到打印机的速度比阻止它更快。
注意:我正在使用Outlook 2007.
解决方案
Thera是示例如何以编程方式使用Outlook:
如何:自定义项目上下文菜单
基于TcK提供的链接,这非常简单。
在下面的示例中,我检查了项目的类型,以便它仅影响电子邮件,而不影响日历项目。
要在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