2012-04-24 64 views
5

我正在使用C#VSTO 3.0 Outlook加載項,我需要捕獲打印事件(當用戶從​​Outlook中選擇打印選項打印電子郵件時)。我無法在提供對此事件的訪問的Outlook對象模型中找到任何API。有什麼辦法可以做到這一點?如何捕獲Outlook加載項中的打印事件?

+1

爲什麼要捕獲打印? – 2012-04-25 10:04:56

+0

記錄關於正在打印的文檔的一些元數據。 – Kapil 2012-04-26 09:09:11

回答

1

如果你想在Backstage視圖攔截打印命令,你可以看看下面的文章:

http://msdn.microsoft.com/en-us/library/ee691833(office.14).aspx#odc_Office2010Introduction2OutSpaceUI_BackStageUIFAQs

這是不可能的從自定義UI XML重寫這些命令標記或通過使用對象模型,使用DocumentBeforeSave事件是一種選擇,但是使用它並不會真正改變Backstage中「更改文件類型」庫中顯示的單個命令的功能,更好的解決方案是考慮隱藏內置UI並用自定義命令完全重建它。

(以上是關於文件 - >另存爲..但它幾乎是相同的情況下文件 - >打印)。

所以基本上你需要添加你自己的命令,而不是內置的。 如果你不是在討論Backstage,而是一些較老的Outlook,其中print命令在菜單項/ ribbon /命令欄中,你也可以拿一個看這篇文章中的AddIn快遞(我認爲這將沒有他們的產品做工):

http://www.add-in-express.com/creating-addins-blog/2012/02/27/how-an-office-add-in-intercepts-clicking-a-built-in-control/

的思路是一樣的 - 你找到感興趣的鍵/菜單項的ID或IdMso創造新的一個以獲得事件。

希望這會有所幫助。

相關問題