快速业务通道

用C++ Builder实现Word 97自动化

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30

要在应用程序中控制Word97的运行,首先必须在编制自动化客户程序时使其头文件中包含文件ComObj.hpp,写入#include。编程工具C++Builder的开发者把调用Word97自动化对象的功能大致包装成了几个Oleobjectclass函数,应用程序设计人员可以很方便地利用它们。

*设定Ole对象的属性:

OlePropertyGet(propname)

OlePropertySet(propname,value)

其中value是任何可以转换为Variant型的值

*调用Ole对象的方法:

OleProcedure(OleProcName,[val,...])

OleFunction(OleFuncName,[val,...])

其中val是任何可以转换为Variant型的值

----可以通过OleFunction(OleFuncName,[val,...])父对象返回其子对象,句法是:子对象名=父对象名.OleFunction(OleFuncName,val)。而且可以对此方法组合从父对象返回其下层对象的对象。

----C++Builder中使用OLE自动化控制Word97,必须掌握Word97的自动化对象及MicrosoftWordVisualBasic帮助文件中关于Word的对象方法和属性。Word对象代表一个Word的元素,如文档、段落、书签或单个的字符。集合是一个对象,该对象包含其他数个对象,通常这些对象属于相同的类型,例如,一个集合对象中可包含文档中的所有书签对象。通过使用属性和方法,可以修改单个的对象,也可修改整个的对象集合。属性是对象的一个特性或者该对象操作的一个方面。例如,文档属性包含名称、内容、保存状态,以及是否启用修订。要更改一个对象的属性,可以修改属性的值。方法是对象可以进行的动作。

----代表Word97应用程序的自动化对象有两个:Word.Application和Word.Basic,通过Application对象的WordBasic属性可以允许它们之间进行变换赋值。在C++Builder中通过CreateOleObject("…")就可启动Word并获得句柄,将其赋给Variant变量。如有两个Variant型变量V1和V2,WordBasic是Application对象的属性:

V1=CreateOleObject("Word.Application");

V2=V1.OleFunction("WordBasic")。

----以下通过一个简单的例子,具体说明如何在C++Builder中实现Word97的自动化功能,其功能是打开或创建新文档,并向当前活动中发送文字、插入位图和画条直线等。在C++Builder集成开发环境IDE下,建立一项目Project1,其中包含Form1(其Caption为OLEAutomation)的单元文件Unit1.cpp。表单Form1的OpenDialog1对象的Filter设为Word文档或位图。Unit1.cpp的头文件中必须包含"ComObj.hpp"。代码如下:

头文件Unit1.h代码为:

#ifndefUnit1H
#defineUnit1H
//-------------
#include
#include
#include
#include
#include
#include
#include
//-------------
classTForm1:publicTForm
{
__published://IDE-managedComponents
TButton*Button1;
TOpenDialog*OpenDialog1;
TButton*Button2;
TMemo*Memo1;
TBevel*Bevel1;
TButton*Button3;
TLabel*Label1;
TButton*Button5;
TBevel*Bevel2;
TLabel*Label2;
TLabel*Label3;
void__fastcallButton1Click(TObject*Sender);
void__fastcallButton3Click(TObject*Sender);
void__fastcallButton2Click(TObject*Sender);
void__fastcallButton5Click(TObject*Sender);
private://Userdeclarations
public://Userdeclarations
VariantV,Vdocuments,Vdocument1,Vdocument2,Vactive;
/*定义Variant型全局//变量,
分别指代Application对象,V的Documents
对象,Vdocuments的Document对象
(Vdocument1,Vdocument2)以及
V的ActiveDocument对象*/
inttag;//用于记录Button3被点击的次数
__fastcallTForm1(TComponent*Owner);
Variant__fastcallGetWordObject();
//获得Word97自动化对象函数
void__fastcall

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号