虫虫技术在线--技术决定出路

当前位置: 首页 > 编程 > Delphi >

在Delphi中使用CreateOleObject方法对WORD文件进行操作

时间:2010-03-13 22:01来源:虫虫技术在线收集整理 作者:虫虫编辑 点击:
使用CreateOleObject方法对WORD文档操作具有先天所具备的优势,与delphi所提供的那些控件方式的访问相比,CreateOleObject方法距离WORD核心的操作更近,因为它直接使用OFFICE所提供的VBA语言对

使用CreateOleObject方法对WORD文档操作具有先天所具备的优势,与delphi所提供的那些控件方式的访问相比,CreateOleObject方法距离WORD核心的操作“更近”,因为它直接使用OFFICE所提供的VBA语言对WORD文档的操作进行编程。

以下是我在本机上所做的实验,机器软件配置如下:

Windows XP+delphi7.0+OFFICE 2003

这个程序很简单,在页面上放置了一个edit和一个button,每单击一次按钮,就会自动把edit中的内容添加在后台中的word文档中,程序关闭时文件自动保存在当前程序的主目录中。
 

  1. unit main;  
  2.  
  3. interface  
  4.  
  5. //如果要使用CreateOleObject的办法对WORD文档进行操作,应该在uses  
  6. //语句中加入Comobj声明和WordXP声明  
  7. uses  
  8.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  
  9.   Comobj, WordXP, Dialogs, StdCtrls;  
  10.  
  11. type  
  12.   TForm1 = class(TForm)  
  13.     Button1: TButton;  
  14.     Edit1: TEdit;  
  15.     procedure Button1Click(Sender: TObject);  
  16.     procedure FormCreate(Sender: TObject);  
  17.     procedure FormClose(Sender: TObject; var Action: TCloseAction);  
  18. //    procedure Button2Click(Sender: TObject);  
  19.   private 
  20.     { Private declarations }  
  21.   public 
  22.     { Public declarations }  
  23.   end;  
  24.  
  25. var  
  26.   Form1: TForm1;  
  27.   //把这两个变量声明为全局变量  
  28.   FWord: Variant;  
  29.   FDoc: Variant;  
  30.  
  31. implementation  
  32.  
  33. {$R *.dfm}  
  34.  
  35. procedure TForm1.Button1Click(Sender: TObject);  
  36. begin  
  37. FWord.Selection.TypeParagraph;  
  38. FWord.Selection.TypeText(Text := form1.Edit1.Text);  
  39. end;  
  40.  
  41.  
  42. procedure TForm1.FormCreate(Sender: TObject);  
  43. begin  
  44. //首先创建对象,如果出现异常就作出提示  
  45. try 
  46. FWord := CreateOleObject('Word.Application');  
  47. //WORD程序的执行是否可见,值为False时程序在后台执行  
  48. FWord.Visible := False;  
  49. except  
  50. ShowMessage('创建word对象失败!');  
  51. Exit;  
  52. end;  
  53.  
  54. //先在打开的Word中创建一个新的页面,然后在其中键入"Hello,"+回车+"World!"  
  55. try 
  56. FDoc := FWord.Documents.Add;  
  57. FWord.Selection.TypeText(Text := 'Hello,');  
  58. FWord.Selection.TypeParagraph;  (责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容