在Word中调用Word软件,归纳起来有三种方法:
。通过Delphi的控件TOleContainer 将Word嵌入
a.使用Delphi提供的Servers控件调用Word,使用Word的属性
b.通过真正的Com技术,将Office软件目录中文件MSWORD9.OLB中的类库全部导入Delphi中,
利用Com技术编程
c.使用CreateOleObject将启动Word,然后以Ole方式对Word进行控制。
2、 对几种方法的难易程度的判别
a.通过Delphi的控件TOleContainer 将Word嵌入
这是最简单的Ole嵌入,能够直接将Word文档调用,只需要使用ToleContainer.Run就可以将Word文
档直接启动。且这样启动的Word文档与Delphi程序是一个整体(从界面上看),但是它存在不可克
服的缺点,即不能通过Delphi控制Word文档,也就不能实现将灵活操纵Word的目的。
b.使用Delphi提供的Servers控件调用Word,使用Word的属性
使用Delphi的Servers控件来操纵Word,在编程时Delphi能够实现代码提示,总体上看能够较好的实
现Delphi对Word的控制,但是还有一些Word的功能不能在Delphi中调用(比如自己编写的VBA宏代码)。
且实现功能时本来在VBA代码中可选则参数在Delphi调用的时候必须添加,否则,连编译都不能通过。
本方式启动的Word与Delphi程序分属两个窗体。
此办法仅能作为一个参考。
c.通过真正的Com技术,将Office软件目录中文件MSWORD9.OLB中的类库全部导入Delphi中,
利用Com技术编程
利用真正的Com技术,将MsWord9.OLD文件类库导入,然后利用Com技术进行使用。
整体上类似使用Delphi的Servers控件,稍微比Servers控件麻烦,优缺点与Servers控件相同。
d.使用CreateOleObject将启动Word,然后以Ole方式对Word进行控制。
本办法是使用以CreateOleObjects方式调用Word,实际上还是Ole,但是这种方式能够真正做到完全
控制Word文件,能够使用Word的所有属性,包括自己编写的VBA宏代码。
与Servers控件和com技术相比,本方法能够真正地使用Word的各种属性,和在VBA中编写自己的代码
基本一样,可以缺省的代码也不需要使用。
本方式启动的Word与Delphi程序分属两个窗体。
缺点是使用本方法没有Delphi代码提示,所有异常处理均需要自己编写,可能编写时探索性知识比较多。
三、Word宏编辑器
Word能够真正地进行VBA代码的编辑,可以编写窗体、函数。
进入Word宏编辑器的方法:工具->宏->Visual Basic编辑器,可进入Visual Basic编辑器界面。
Word的Visual Basic编辑器界面和真正的Visual Basic编辑器基本相同,在此不再向详述。
在VBA代码中,可以添加用户窗体、模块、类模块。用户窗体、模块、类模块的概念和Visual Basic
完全相同。注释也与Visual Basic完全相同。
可以将光标停留在窗体、模块的任何一个子程序上,直接按“F5”运行当前子程序。
四、Word的宏的概述
Word充分地将文档编辑和VB结合起来,真正地实现文档的自动化。使用Word编程,类似于使用
Visual Basic,所不同的是,在Word中,能够直接运行某一个子程序,直接看见结果,Word的宏,
只能解释运行,而Visual Basic,现在已经能够编写成真正的机器码,从代码的保护上来说,应该尽
可能地减少Word的VBA代码数量,尤其是关键的代码。
VBA宏,可分成四种:
解决方案 »
- 请教为动态创建的ComboBox添加Item的问题
- DBGrid如何实现修改多行记录作一次提交修改
- 时间查询问题
- 用query组件怎样实现对日期的查询
- 在XP SP2的服务器上启用Windows防火墙之后,客户端调用其COM+组件报错:RPC 服务器不可用,关闭防火墙又好了,为什么?
- 以前我很想成为程序员,但现在……
- Delphi中如何用IP地址的方式来连接Oracle数据库?
- 用Indy控件组中的TidSMTP发邮件的问题。
- 生成一个列可以变化的表,并对该表进行操作
- 如何得到窗口图标?标题栏的那个?
- web active控件?
- 请教:怎样将delphi中的数据库登陆窗用自定义的登陆窗替换?? 不甚明白
在Word中调用Word软件,归纳起来有三种方法:
。通过Delphi的控件TOleContainer 将Word嵌入
a.使用Delphi提供的Servers控件调用Word,使用Word的属性
b.通过真正的Com技术,将Office软件目录中文件MSWORD9.OLB中的类库全部导入Delphi中,
利用Com技术编程
c.使用CreateOleObject将启动Word,然后以Ole方式对Word进行控制。
2、 对几种方法的难易程度的判别
a.通过Delphi的控件TOleContainer 将Word嵌入
这是最简单的Ole嵌入,能够直接将Word文档调用,只需要使用ToleContainer.Run就可以将Word文
档直接启动。且这样启动的Word文档与Delphi程序是一个整体(从界面上看),但是它存在不可克
服的缺点,即不能通过Delphi控制Word文档,也就不能实现将灵活操纵Word的目的。
b.使用Delphi提供的Servers控件调用Word,使用Word的属性
使用Delphi的Servers控件来操纵Word,在编程时Delphi能够实现代码提示,总体上看能够较好的实
现Delphi对Word的控制,但是还有一些Word的功能不能在Delphi中调用(比如自己编写的VBA宏代码)。
且实现功能时本来在VBA代码中可选则参数在Delphi调用的时候必须添加,否则,连编译都不能通过。
本方式启动的Word与Delphi程序分属两个窗体。
此办法仅能作为一个参考。
c.通过真正的Com技术,将Office软件目录中文件MSWORD9.OLB中的类库全部导入Delphi中,
利用Com技术编程
利用真正的Com技术,将MsWord9.OLD文件类库导入,然后利用Com技术进行使用。
整体上类似使用Delphi的Servers控件,稍微比Servers控件麻烦,优缺点与Servers控件相同。
d.使用CreateOleObject将启动Word,然后以Ole方式对Word进行控制。
本办法是使用以CreateOleObjects方式调用Word,实际上还是Ole,但是这种方式能够真正做到完全
控制Word文件,能够使用Word的所有属性,包括自己编写的VBA宏代码。
与Servers控件和com技术相比,本方法能够真正地使用Word的各种属性,和在VBA中编写自己的代码
基本一样,可以缺省的代码也不需要使用。
本方式启动的Word与Delphi程序分属两个窗体。
缺点是使用本方法没有Delphi代码提示,所有异常处理均需要自己编写,可能编写时探索性知识比较多。
三、Word宏编辑器
Word能够真正地进行VBA代码的编辑,可以编写窗体、函数。
进入Word宏编辑器的方法:工具->宏->Visual Basic编辑器,可进入Visual Basic编辑器界面。
Word的Visual Basic编辑器界面和真正的Visual Basic编辑器基本相同,在此不再向详述。
在VBA代码中,可以添加用户窗体、模块、类模块。用户窗体、模块、类模块的概念和Visual Basic
完全相同。注释也与Visual Basic完全相同。
可以将光标停留在窗体、模块的任何一个子程序上,直接按“F5”运行当前子程序。
四、Word的宏的概述
Word充分地将文档编辑和VB结合起来,真正地实现文档的自动化。使用Word编程,类似于使用
Visual Basic,所不同的是,在Word中,能够直接运行某一个子程序,直接看见结果,Word的宏,
只能解释运行,而Visual Basic,现在已经能够编写成真正的机器码,从代码的保护上来说,应该尽
可能地减少Word的VBA代码数量,尤其是关键的代码。
VBA宏,可分成四种:
关注一下!