6

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

我总是右键单击以回复电子邮件,只是意外单击Print并让 Outlook 将其直接发送到打印机,速度比我阻止它的速度更快。

替代文字

注意:我使用的是 Outlook 2007。

4

2 回答 2

9

根据 TcKs 提供的链接,这非常简单。在下面的示例中,我检查了项目的类型,以便它只影响电子邮件而不影响日历项目。要在 Outlook 中输入代码,请键入 Alt + F11,然后在“项目”窗格中展开 Microsoft Office Outlook 对象。然后双击 ThisOutlookSession。然后将此代码粘贴到代码窗口中。我不喜欢检查这样的字幕,因为您可能会遇到国际化问题。但我没有在命令上看到 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
于 2009-02-24T14:57:31.363 回答
8

Thera 是如何以编程方式使用 Outlook 的示例: 如何:自定义项目上下文菜单

于 2008-09-23T15:52:04.453 回答