Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 从Outlook 2007中删除右键单击打印上下文菜单_Vba_Outlook_Outlook 2007 - Fatal编程技术网

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

Vba 从Outlook 2007中删除右键单击打印上下文菜单,vba,outlook,outlook-2007,Vba,Outlook,Outlook 2007,当您右键单击带有VBA的电子邮件时,我是否可以从上下文菜单中删除打印项? 我总是用鼠标右键单击来回复电子邮件,但却意外地单击了“打印”,让Outlook以我无法停止的速度将其直接发送到打印机 NB:我正在使用Outlook 2007。Thera是如何以编程方式使用Outlook的示例: 基于TCK提供的链接,这非常简单。 在下面的示例中,我检查项目的类型,以便它只影响电子邮件而不影响日历项目。 要在outlook中输入代码,请键入Alt+F11,然后在项目窗格中展开Microsoft Offi

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

我总是用鼠标右键单击来回复电子邮件,但却意外地单击了“打印”,让Outlook以我无法停止的速度将其直接发送到打印机


NB:我正在使用Outlook 2007。

Thera是如何以编程方式使用Outlook的示例:

基于TCK提供的链接,这非常简单。 在下面的示例中,我检查项目的类型,以便它只影响电子邮件而不影响日历项目。 要在outlook中输入代码,请键入Alt+F11,然后在项目窗格中展开Microsoft Office outlook对象。然后双击ThisOutlookSession。然后将此代码粘贴到“代码”窗口中。我不喜欢检查这样的标题,因为你可能会遇到国际化的问题。但我在命令上没有看到ActionID或任何东西。有一个FaceID,但这只是打印机图标的id

Private子应用程序\u ItemContextMenuDisplay(ByVal命令栏作为Office.CommandBar,ByVal选择作为选择)
Dim cmdTemp作为Office.CommandBarControl
如果Selection.Count>0,则
选择案例类型名称(选择项目(1))
案例“MailItem”
对于CommandBar.Controls中的每个cmdTemp
如果cmdTemp.Caption=“&Print”,则
cmdTemp.Delete
退出
如果结束
下一个cmdTemp
其他情况
'Debug.Print TypeName(Selection.Item(1))
结束选择
如果结束
端接头

不幸的是,这在Outlook 2013中不再有效,尽管我将
&Print
替换为
&Quick Print
(这是Outlook 2013中上下文菜单项的名称)。@fero您的意思是,在您更改为
&Quick Print
后,它仍然有效吗?如果没有,您是否找到Outlook 2013的解决方案?谢谢不,我的意思是,虽然我将其更改为
快速打印
,但它不起作用。不,我没有找到解决办法。(现在使用Outlook 2016)