当右键单击带有VBA的电子邮件时,是否有任何方法可以从上下文菜单中删除打印项目?删除右键单击Outlook 2007中的打印上下文菜单
我永远右键单击以回复电子邮件,只是意外地点击了Print
并让Outlook直接将它直接发送到打印机,而不是我可以阻止它。
注:我使用Outlook 2007中
当右键单击带有VBA的电子邮件时,是否有任何方法可以从上下文菜单中删除打印项目?删除右键单击Outlook 2007中的打印上下文菜单
我永远右键单击以回复电子邮件,只是意外地点击了Print
并让Outlook直接将它直接发送到打印机,而不是我可以阻止它。
注:我使用Outlook 2007中
基于链路第三文化孩子提供,这是非常简单的。 在下面的示例中,我检查项目的类型,以便它仅影响电子邮件而不影响日历项目。 要在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
尊者是样本如何programaticly与Outlook工作: How to: Customize an Item Context Menu
不幸的是,这并不Outlook 2013中工作了,虽然我取代`&Print`用`&快速Print`(这是Outlook 2013中的上下文菜单项的名称)。 – fero 2014-08-08 09:58:48