a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Delphi > 正文

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

2019-11-18 18:01:53
字體:
供稿:網(wǎng)友
 

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

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

Windows xp+delphi7.0+OFFICE 2003

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

unit main;

interface

//如果要使用CreateOleObject的辦法對WORD文檔進行操作,應(yīng)該在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
//首先創(chuàng)建對象,如果出現(xiàn)異常就作出提示
try
FWord := CreateOleObject('Word.application');
//WORD程序的執(zhí)行是否可見,值為False時程序在后臺執(zhí)行
FWord.Visible := False;
except
ShowMessage('創(chuàng)建word對象失敗!');
Exit;
end;

//先在打開的Word中創(chuàng)建一個新的頁面,然后在其中鍵入"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;

//在程序關(guān)閉時把文件內(nèi)容保存到當(dāng)前目錄中,并以test.doc命名
//同時關(guān)閉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文件中更復(fù)雜的VBA宏的引用,這個方法還可以完成更復(fù)雜的文檔操作。


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

下一篇:利用Delphi開發(fā)旅游景點微機售票系統(tǒng)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 日韩av免费在线观看 | 91丝袜| 一区二区三区四区av | 天堂va蜜桃一区二区三区 | 欧美视频三区 | 一本色道| 五月激情六月婷婷 | 热久久这里只有精品 | 久久免费视频3 | 巨大黑人极品videos精品 | 国产精品一区二区无线 | 天天操夜夜操 | 免费黄色在线网址 | 国产精品1页 | 一区二区三区日本 | 中文字幕99 | 久久成人精品一区二区三区 | 国产不卡一区在线观看 | 中文字幕日韩一区 | 一区二区中文字幕 | 99久久国产综合精品女不卡 | 综合网av | 一区二区视频免费 | 粉嫩av网站 | 欧美一区二区国产 | 欧美人人 | 农村少妇一级片 | 国产91久久精品 | 国产欧美日韩一区二区三区 | 欧美极品一区二区三区 | 久久成人国产 | 久久精品视频一区二区 | 亚洲毛片网 | 中文字幕三区 | 久久av免费 | 久久国产精品亚洲 | 国产成人一区二区三区 | 最新精品在线 | 91激情视频 | 成人黄色免费网站 | 日韩电影专区 |