国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

在Delphi中使用CreateOleObject方法對WORD文件進行操作

2019-11-18 18:01:53
字體:
來源:轉載
供稿:網友
 

使用CreateOleObject方法對Word文檔操作具有先天所具備的優勢,與delphi所提供的那些控件方式的訪問相比,CreateOleObject方法距離WORD核心的操作“更近”,因為它直接使用OFFICE所提供的VBA語言對WORD文檔的操作進行編程。

以下是我在本機上所做的實驗,機器軟件配置如下:

Windows xp+delphi7.0+OFFICE 2003

這個程序很簡單,在頁面上放置了一個edit和一個button,每單擊一次按鈕,就會自動把edit中的內容添加在后臺中的word文檔中,程序關閉時文件自動保存在當前程序的主目錄中。

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宏的引用,這個方法還可以完成更復雜的文檔操作。


上一篇:在Delphi中利用CreateRemoteThread遠程注入例子

下一篇:利用Delphi開發旅游景點微機售票系統

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 汪清县| 元阳县| 鄂伦春自治旗| 成安县| 靖边县| 绥阳县| 上杭县| 桃江县| 伽师县| 上犹县| 永春县| 大余县| 文化| 侯马市| 成武县| 万源市| 聂荣县| 比如县| 汤原县| 昆明市| 青冈县| 岳西县| 蒙山县| 隆化县| 洞头县| 大新县| 汨罗市| 夏河县| 刚察县| 揭东县| 遂昌县| 会东县| 柳州市| 从化市| 雷波县| 翼城县| 新密市| 英德市| 遂溪县| 镇安县| 育儿|