代码之家  ›  专栏  ›  技术社区  ›  GateKiller

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

  •  6
  • GateKiller  · 技术社区  · 16 年前

    右键单击带有VBA的电子邮件时,是否可以从上下文菜单中删除打印项?

    我永远右键点击回复邮件,只是不小心点击 Print 并让Outlook将其直接发送到打印机,速度快于我可以停止它。

    alt text

    NB: 我正在使用Outlook 2007。

    2 回复  |  直到 9 年前
        1
  •  9
  •   fero    10 年前

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

    Thera是如何与Outlook进行编程工作的示例: How to: Customize an Item Context Menu

    推荐文章