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

2016-02-19 19:32 12 1 收藏

下面是个在Delphi中使用CreateOleObject方法对WORD文件进行操作教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

【 tulaoshi.com - 编程语言 】

 

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

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

  Windows XP+delphi7.0+OFFICE 2003

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  unit main;

  interface

  //如果要使用CreateOleObject的办法对WORD文档进行操作,应该在uses
  //语句中加入Comobj声明和WordXP声明
  uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Comobj, WordXP, Dialogs, StdCtrls;

  type
    TForm1 = class(TForm)
      Button1: TButton;
      Edit1: TEdit;
      procedure Button1Click(Sender: TObject);
      procedure FormCreate(Sender: TObject);
      procedure FormClose(Sender: TObject; var Action: TCloseAction);
  //    procedure Button2Click(Sender: TObject);
    private
      { Private declarations }
    public
      { Public declarations }
    end;

  var
    Form1: TForm1;
    //把这两个变量声明为全局变量
    FWord: Variant;
    FDoc: Variant;

  implementation

  {$R *.dfm}

  procedure TForm1.Button1Click(Sender: TObject);
  begin
  FWord.Selection.TypeParagraph;
  FWord.Selection.TypeText(Text := form1.Edit1.Text);
  end;

  
  procedure TForm1.FormCreate(Sender: TObject);
  begin
  //首先创建对象,如果出现异常就作出提示
  try
  FWord := CreateOleObject('Word.Application');
  //WORD程序的执行是否可见,值为False时程序在后台执行
  FWord.Visible := False;
  except
  ShowMessage('创建word对象失败!');
  Exit;
  end;

  //先在打开的Word中创建一个新的页面,然后在其中键入"Hello,"+回车+"World!"
  try
  FDoc := FWord.Documents.Add;
  FWord.Selection.TypeText(Text := 'Hello,');
  FWord.Selection.TypeParagraph;
  FWord.Selection.TypeText(Text := 'World! ');

  except
  on e: Exception do
  ShowMessage(e.Message);
  end;
  end;

  //在程序关闭时把文件内容保存到当前目录中,并以test.doc命名
  //同时关闭WORD程序
  procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
  begin
  FDoc.SaveAs(ExtractFilePath(application.ExeName) +'test.doc');
  FWord.Quit;
  FWord := Unassigned;
  end;

  end.

  此外,对OFFICE其他文件的操作都比较类似,不在赘述。通过对WORD文件中更复杂的VBA宏的引用,这个方法还可以完成更复杂的文档操作。

来源:https://www.tulaoshi.com/n/20160219/1621258.html

延伸阅读
Delphi的出现将一大批程序员带入了Windows下的可视化编程,为一些C&C++的死党程序员所羡慕、感叹。直到C++Builder的出现这些Programer才用到了梦寐以求的编程工具,也将一些不得已"投敌"到Delphi下的程序员又拉回到C++的怀抱。她正真将Windows下的可视化编程和面向对象编程语言有机的融合在一起。但是由于C++Builder面市时间...
在delphi中使用xml文档有两种方法 使用xml broker, 是delphi 内置的。例: unit ShowXML; interface uses Classes  HTTPApp  Db  DbClient  Midas    XMLBrokr  WebComp  MidItems; type   TCustomShowXMLButton = class(TXMLButton  IScriptComponent) ...
--用SQL多条可以将多条数据组成一棵XML树L一次插入 --将XML树作为varchar参数传入用 --insert xx select xxx from openxml() 的语法插入数据 -----------------------------------导入,导出xml-------------------------- --1导入实例 --单个表 create table Xmltable(Name nvarchar(20),Nowtime nvarchar(20)) declare @s as nvarchar...
很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是 j2se应用,我们会采用properties属性文件或者xml进行保存。如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?Android 平...
标签: word
在Word2010文档中使用“粘贴选项” 在Word2010文档中,当执行复制或剪切操作后,则会粘贴选项命令,包括保留源格式、合并格式或仅保留文本三个命令,如图1所示。 图1 粘贴选项命令 保留源格式命令:被粘贴内容保留原始内容的格式; 合并格式命令:被粘贴内容保留原始内容的格式,并且合并应用目标位置的格式; 仅保...

经验教程

227

收藏

70
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部