delphi和word之间的融合技术_delphi教程-源码天堂-idc中文资讯站-客观公证的IDC产业权威媒体,关注域名、虚拟主机、服务器、网络、开源技术资讯,整合运营商资源,客观评价各地机房带宽线路质量、IDC企业名录等信息
delphi和word之间的融合技术_delphi教程< 上一篇 | 下一篇 > 来源:作者: 发布时间:2007-12-27 06:26:07
Delphi和Word之间的融合技术
3710167@qq.com
一、VBA代码含义
Microsoft Word是个集成化环境,是美国微软公司的字处理系统,但是他决不但仅是个字处理系统,他整合了Microsoft Visual
Basic,能够通过编程来实现对Word功能的扩展。
Microsoft Visual
Basic在word中的代码即Word的宏,通过编写Word宏,可实现一些文档处理的自动化,如实现文档的自动备份、存盘等,可扩展Word文档的功能,因此,能够充分利用Word的特性,甚至使Word成为自己软件的一部分。
Word的宏既有有利的一部分,因为他能够帮助我们实现文档的自动化,但是Word的宏也不是纯粹的有利,有时他可能危害我们的文档、电脑系统甚至
网络,从最开始的Taiwan
NO1宏病毒到现在的Melissa宏病毒,从最开始的简单的提示,耗尽
系统资源到现在的乱发电子邮件,将个人的信息发送到网络上,甚至向硬盘的Autoexec.bat(自动批处理文档)中添加Deltree
C: -y,破坏整个Windows系统。
二、Word中内嵌的Com技术
能够说Word是对Com技术支持最好的软件,这样说似乎是太极端了一点,但是Word提供的强大的编程接口技术却能够是我们通过程式控制Word的任何一部分。无论是文档的打开、存盘、打印还是文档中表格的自动绘制。
通过编程软件,能够灵活的操纵word,这里只以Borland Delphi为例,进行周详描述:
1、 在Delphi中调用Word
软件/文档的方法
在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的各种属性,