Word编程中,事件的作用和顺序

原创 2004年10月09日 14:11:00

在打开Word一直到打开文档,这个过程中,各个发生的时间顺序会稍有不同,我们举一个常用的代码段进行解析:
dim wordApp as object
dim wordDoc as object

set wordApp=CreateObject("Word.Application")
wordApp.visible=true
set wordDoc=wordApp.Documents.Open("kk.doc")

那么,时间顺序如下:
1、Application的WindowActivate事件:这个比较好理解,首先Word.Application的窗口获得了焦点;不过不是很清楚到底是.Visible=true带来的,还是CreateObject带来的(按照我们跟踪的结果,应该是.Visible=True造成的);
2、Application的DocumentOpen事件:在采用代码打开文档的时候,相应的就发生了DocumentOpen事件,这个事件针对Document发生,所有如果需要对文档进行什么检查的话,放在这个DocumentOpen事件里,是最恰当不过的了;
3、Application的DocumentChange事件:这个事件不针对Document发生,所以它也比较特殊,即使是在没有文档的窗口里,只要你切换了Word窗口,它就会发生,但是他的发生条件是:
 3.1.从一个文档切换成另外一个文档;
 3.2.没有文档的窗口被激活的时候(这点比较特殊,当具备文档的窗口重新获得焦点的时候,发生的事件居然是WindowActivate,而不是DocumentChange事件);

其他的事件,就不需要罗嗦了,这些事件中,DocumentOpen事件发生一次,而WindowActivate事件和DocumentChange事件经常发生;

补充:在Word.Application中有文档的时候,将焦点切换到其他窗口,再次回到这个Word文档窗口的时候,DocumentChange事件不会发生;但是在Word.Application中没有文档的时候,每次切换回到Word窗口,都会发生DocumentChange事件;

补充1:编写的COMAddIns接口中,通过wordApp.COMAddIns.Item(ProgId).Object=Me,可以将AddIns编写成从外部调用的一种类型,也就是说:可以从程序外部调用AddIns中的公用函数。不过需要特别注意的是,如果想从JS、VC里面进行调用的话,这个函数的名称最好全部用小写,否则转换上会出麻烦。

Word VBA(Events)

Word Events 在Word中只有Application object和Document object响应事件: Events With Application object : Ne...
  • youthon
  • youthon
  • 2015年01月05日 15:45
  • 917

ABAP的事件执行顺序

ABAP的事件执行顺序
  • SAPmatinal
  • SAPmatinal
  • 2015年04月15日 22:16
  • 1227

HttpModule及其中的事件的执行顺序

HttpModule执行的顺序取决于web.config配置HttpModule的顺序,而HttpModule中事件的执行先后顺序与asp.net运行机制相关,具体执行顺序如下: BeginReque...
  • flashlm
  • flashlm
  • 2008年01月19日 16:38
  • 2470

Word中分节符的作用

Word中分节符的作用!
  • kevinhg
  • kevinhg
  • 2011年03月21日 21:44
  • 4753

word插件中怎样响应word事件

1. ATL做的word插件中怎样响应word事件 http://bbs.csdn.net/topics/210058851 ATL做的word插件中怎样响应word事件...
  • wishfly
  • wishfly
  • 2014年10月23日 11:00
  • 1266

javascript事件编程

javascript事件编程初探
  • u011526599
  • u011526599
  • 2016年05月15日 19:37
  • 3911

Word中“节”的作用

只要您根据您的需要细心揣摩,相信您会创造出许多应用分节的妙招!
  • kevinhg
  • kevinhg
  • 2011年03月21日 21:17
  • 3029

移动端点击事件触发顺序

移动端页面事件触发顺序和事件触发规则不同于PC端,一般都知道click在移动端会延迟200~300ms触发。 本文从实例出发,演示移动端事件的触发规则和顺序。 HTML页面: ? 1...
  • liaozhongping
  • liaozhongping
  • 2015年09月24日 02:02
  • 1694

编程语言中双引号与单引号的区别

刚学c++,用C++来说吧。双引号里面的是字符串 而单引号里面的代表字符 朋友 你可以这样理解 只要是在双引号里面的不代表任何表达式的意义 假如 int a=10 cout 这是用 双引号 它在...
  • tengxing007
  • tengxing007
  • 2017年01月10日 20:53
  • 762

分布式系统内的时间,时钟和事件顺序

这篇博客是关于Lamport的经典论文Time, Clocks, and the Ordering of Events in the Distributed System的翻译。由于博主的水平有限,如...
  • jeff_fangji
  • jeff_fangji
  • 2014年11月01日 11:16
  • 5258
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Word编程中,事件的作用和顺序
举报原因:
原因补充:

(最多只允许输入30个字)