在Microsoft.Office.Interop.Word中更改事件

时间:2012-03-23 18:33:04

标签: c# ms-word office-interop

当发生任何更改或文档编辑时,上述命名空间中是否有任何事件触发,例如,文本输入发生

我试过

Microsoft.Office.Interop.Word.ApplicationEvents4_WindowSelectionChangeEventHandler
&
Microsoft.Office.Interop.Word.ApplicationEvents4_EPostageInsertEventHandler

但是每当我在活动的word文档中插入文本时,我都无法触发事件。

2 个答案:

答案 0 :(得分:1)

不幸的是Word对象模型没有公开任何按键事件,

Word事件列表 - Document Events

您可以尝试通过Win32 API实现global keyboard hook来实现您的目标。

答案 1 :(得分:0)

你可以在MVPS Word网站上找到一个相当古老但信息量很大的页面,关于在VBA编程中使用Word事件(http://word.mvps.org/FAQs/MacrosVBA/AppClassEvents.htm)。 请注意页面末尾的警告,某些事件的使用可能会对Word产生性能影响;我还记得其他一些关于“捕捉文字类型事件”的警告。

事实上,我从1994年开始开发Word解决方案,很少发现捕获类型事件的必要性。我宁愿害怕与这个级别的用户输入混在一起,并且会寻找替代方法。