大众计算机学习网

专门提供各种电脑教程

Word编程之WindowActivate、DocumentOpen和DocumentChange事件

Admin | 2010-1-31 15:58:28 | 被阅次数 | 6482

  在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里面进行调用的话,这个函数的名称最好全部用小写,否则转换上会出麻烦。