怎样在VB中控制Word?
1直接使用Shell函数调用。
语法:shell(路径名[,windowstyle])。Pathname是指要执行的程序的名称和任何必要的参数或命令行开关,可以包括目录和驱动器名;Windowstyle是执行程序的窗口样式的编号。
用Shell调用Word相对简单,编程量小,但必须明确指定Word所在的路径,不利于移植。而且无法控制Word也不利于程序和Word之间的数据交换。
2使用OLE自动化控制Microsoft Word
2.1用法
(1)Word为OLE自动化提供了一个名为“Basic”的对象。在VB中控制Word,首先定义一个对象变量,引用Word中的“基本”对象:Dim Wordobj作为对象。
(2)将Word中的“Basic”对象赋给这个对象:设置Word obj = createobject(" Word . Basic ")
(3)大多数WordBasic语句和函数都可以用来控制Word或Word文档。使用它们的方法与在Word宏中使用WordBasic指令的方法基本相同。
(4)关闭Word:设置Wordobj =Nothing。
注意:“基本”对象不支持关闭它自己的方法之一。也就是说,如果在OLE自动化中关闭Word,对象被设置为Nothing,对象就不能再被操作,程序就出错了。
2.2指令与WordBasic指令的区别
(1)有些语句和函数不能使用,包括:控制结构,如While…Wend和if…then…else;语句,如Dim;自定义与对话框相关的语句:FileExit语句;需要数组变量作为参数的语句或函数。
(2)有些指令的使用方式不同。①返回字符串以美元符号($)结尾的WordBasic函数的关键字必须用方括号括起来。比如WordBasic宏中的GetBookmark$()语句:mark $ = get bookmark $(“Address”),如果用VB调用,必须写成mark $ = wordobj。[ge-t书签$](“地址”)。②选择一个命令按钮,使用“真”而不是“假”
2.3 OLE自动化的描述
Word可以为另一个应用程序提供OLE自动化对象,但不能使用OLE自动化来访问其他应用程序中的对象。例如,VB和Excel可以使用OLE自动化访问Word,但Word不能使用OLE自动化访问它们。
3在包容器中嵌入Word对象
在VB中,要访问包容器中嵌入的Word对象,必须先将对象插入到项目中。下面是具体做法:将OLE控件插入表单,选择MicrosoftWord图片或Microsoft Word文档作为对象类型,然后按确定。
然后使用Object属性访问文档或图片,并使用WordBasic语句和函数对其进行操作。嵌入的对象必须在被访问之前被激活。您可以使用Action属性来激活OLE控件。例如,使用以下指令访问嵌入在名为OLE1的OLE控件中的文档:
dim word obj as object
ole 1 . action = 7
set word obj = OLE 1 . object . application . word basic
否则使用方法与OLE自动化相同。通过在包容器中嵌入Word对象,Word显示的窗口大小和位置与OLE控件定义的窗口大小和位置相同,工具栏显示位置与Word分离。与OLE自动化相比,这是一个不足。
总之,要想在Microsoft Visual Basic中控制Microsoft Word,就要使用OLE自动化,通过使用WordBasic指令来完全控制Word。而且对用户来说,和使用微软Word一样方便。
位律师回复
0条评论