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

时间:2008-09-23 15:38:42

标签: outlook outlook-vba outlook-2007

右键单击带有VBA的电子邮件时,有什么方法可以从上下文菜单中删除“打印”项目吗?

我永远点击右键点击回复电子邮件,只是意外点击Print并让Outlook将其直接发送到打印机的速度比我可以停止的速度快。

alt text

NB:我正在使用Outlook 2007。

2 个答案:

答案 0 :(得分:9)

根据TcKs提供的链接,这非常简单。 在下面的示例中,我检查项目的类型,以便它只影响电子邮件而不影响日历项目。 若要在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

答案 1 :(得分:8)

Theta是如何以编程方式使用Outlook的示例: How to: Customize an Item Context Menu