资源描述:
《delphi COM调用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在Delphi中使用CreateOleObject方法 对WORD文件进行操作 使用CreateOleObject方法对WORD文档操作具有先天所具备的优势,与delphi所提供的那些控件方式的访问相比,CreateOleObject方法距离WORD核心的操作“更近”,因为它直接使用OFFICE所提供的VBA语言对WORD文档的操作进行编程。以下是我在本机上所做的实验,机器软件配置如下:WindowsXP+delphi7.0+OFFICE2003这个程序很简单,在页面上放置了一个edit和一个butt
2、on,每单击一次按钮,就会自动把edit中的内容添加在后台中的word文档中,程序关闭时文件自动保存在当前程序的主目录中。unitmain;interface//如果要使用CreateOleObject的办法对WORD文档进行操作,应该在uses//语句中加入Comobj声明和WordXP声明uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Comobj,WordXP,Dialogs,StdCtrls;typ
3、e TForm1=class(TForm) Button1:TButton; Edit1:TEdit; procedureButton1Click(Sender:TObject); procedureFormCreate(Sender:TObject); procedureFormClose(Sender:TObject;varAction:TCloseAction);// procedureButton2Click(Sender:TObject); private {Pri
4、vatedeclarations} public {Publicdeclarations} end;var Form1:TForm1; //把这两个变量声明为全局变量 FWord:Variant; FDoc:Variant;implementation{$R*.dfm}procedureTForm1.Button1Click(Sender:TObject);beginFWord.Selection.TypeParagraph;FWord.Selection.TypeText(Text:=form1.
5、Edit1.Text);end;procedureTForm1.FormCreate(Sender:TObject);begin//首先创建对象,如果出现异常就作出提示tryFWord:=CreateOleObject('Word.Application');//WORD程序的执行是否可见,值为False时程序在后台执行FWord.Visible:=False;exceptShowMessage('创建word对象失败!');Exit;end;//先在打开的Word中创建一个新的页面,然后在其中键入"H
6、ello,"+回车+"World!"tryFDoc:=FWord.Documents.Add;FWord.Selection.TypeText(Text:='Hello,');FWord.Selection.TypeParagraph;FWord.Selection.TypeText(Text:='World!');exceptone:ExceptiondoShowMessage(e.Message);end;end;//在程序关闭时把文件内容保存到当前目录中,并以test.doc命名//同时关闭WOR
7、D程序procedureTForm1.FormClose(Sender:TObject;varAction:TCloseAction);beginFDoc.SaveAs(ExtractFilePath(application.ExeName)+'test.doc');FWord.Quit; FWord:=Unassigned;end;end.此外,对OFFICE其他文件的操作都比较类似,不在赘述。通过对WORD文件中更复杂的VBA宏的引用,这个方法还可以完成更复杂的文档操作。元旦闲来无事,学习一下DEL
8、PHI怎样编写COM组件.结果一试才发现问题多多,要么是找不到接口,要么是找不到方法.查了很多资料,发现说的都不清楚.现在把我所学到的和大家分享一下,希望新学的人能少走弯路. 1、什么是COM COM是微软定的一种组件编写的规范,目的是为了实现组件的重用,不管你是用C、DELPHI、VB什么语言写的,只要遵守这种规范就是COM组件,就能相互之间调用。那这个规范是什么呢,最简单的,就是按规定使用接口,微软定了个IUnkown接