在word编程中,往往遇到各种事件在执行上的时间顺序,下文,给大家大体介绍一下相关的事件及名称。
事件一:Application的WindowActivate
这个比较好理解,首先Word.Application的窗口获得了焦点;
可以简单的理解为:该事件指的就是Word窗口被激活的事件。
事件二:Application的DocumentOpen
在采用代码打开文档的时候,相应的就发生了DocumentOpen事件,这个事件针对Document发生,所有如果需要对文档进行什么检查的话,放在这个DocumentOpen事件里,是最恰当不过的了;
可以简单的理解为,打开文档所触发的事件。
事件三:Application的DocumentChange
这个事件不针对Document发生,所以它也比较特殊,即使是在没有文档的窗口里,只要你切换了Word窗口,它就会发生,但是他的发生条件是:
从一个文档切换成另外一个文档;
没有文档的窗口被激活的时候(这点比较特殊,当具备文档的窗口重新获得焦点的时候,发生的事件居然是WindowActivate,而不是DocumentChange事件);
可以简单的理解为,切换不同的word文档所触发的事件。
相关知识
在很多的事件中,DocumentOpen事件发生一次,而WindowActivate事件和DocumentChange事件经常发生;
知识1:在Word.Application中有文档的时候,将焦点切换到其他窗口,再次回到这个Word文档窗口的时候,DocumentChange事件不会发生;但是在Word.Application中没有文档的时候,每次切换回到Word窗口,都会发生DocumentChange事件;
知识2:编写的COMAddIns接口中,通过wordApp.COMAddIns.Item(ProgId).Object=Me,可以将AddIns编写成从外部调用的一种类型,也就是说:可以从程序外部调用AddIns中的公用函数。不过需要特别注意的是,如果想从JS、VC里面进行调用的话,这个函数的名称最好全部用小写,否则转换上会出麻烦。