我正在使用C#VSTO 3.0 Outlook加载项,我需要捕获Print事件(当用户从Outlook中选择Print选项以打印电子邮件时)。我在Outlook对象模型中找不到任何提供此事件访问权限的API。有没有办法实现这个目标?
答案 0 :(得分:1)
如果要拦截后台视图中的打印命令,可以查看以下文章:
" 无法从自定义UI XML标记或使用对象模型覆盖这些命令。使用DocumentBeforeSave事件是一种替代方法,但使用它并不会真正更改显示在Backstage中的“更改文件类型”库中的各个命令的功能。更好的解决方案是考虑隐藏内置UI并使用自定义命令完全重建它。"
(以上是关于文件 - >另存为..但文件 - >打印的情况几乎相同。)
所以基本上你需要添加自己的命令而不是内置的命令。 如果您不是在谈论Backstage,而是在菜单项/功能区/命令栏中使用打印命令的旧版Outlook,您还可以在AddIn Express中查看这篇文章(我认为它可以在没有产品的情况下工作):< / p>
这个想法是相同的 - 你找到感兴趣的按钮/菜单项的Id或IdMso,并创建新的以获得事件。
希望这有帮助。