使用TWordDocument组件连接Word自动化服务器

本文介绍了一个使用Delphi实现的Word文档自动化操作案例,包括连接Word自动化服务器、修改文档内容、保存文档及断开连接等步骤。
    unit UJoin_Word2;
    interface
    uses
      //使用系统的单元文件
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, OleServer, Word2000, Buttons;
    type
    TForm1 = class(TForm)
    //定义窗体上使用的组件
    WordDocument1: TWordDocument;
    Join_Btn: TBitBtn;
    Save_Btn: TBitBtn;
    Quit_Btn: TBitBtn;
    Close_Btn: TBitBtn;
    Label1: TLabel;
    //定义事件处理过程
    procedure Button1Click(Sender: TObject);
    procedure Save_BtnClick(Sender: TObject);
    procedure Quit_BtnClick(Sender: TObject);
    procedure Close_BtnClick(Sender: TObject);
    private
      { Private declarations }
    public
      { Public declarations }
    end;
    var
    Form1: TForm1;
    implementation
    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    //连接Word自动化服务器
    begin
       WordDocument1.Connect;
       //调用TOleServer的Connect方法,启动作为自动化服务器的Word程序
       try
         WordDocument1.Content.Text := '欢迎你使用Word自动化服务器!';
         //设置Word文档的内容
       finally
         // WordDocument1.Disconnect;
       end;
    end;

    procedure TForm1.Save_BtnClick(Sender: TObject);
    var
    FileName : OleVariant;
    //定义一个文件名变量
    begin
       FileName := 'c:/Mydocument.doc';
       //设置输出文档的文件名
       WordDocument1.SaveAs(FileName);
       //调用SaveAs方法将文档按指定的文件名保存
    end;

    procedure TForm1.Quit_BtnClick(Sender: TObject);
    begin
      WordDocument1.Disconnect;
      //断开与Word自动化服务器的连接
    end;

    procedure TForm1.Close_BtnClick(Sender: TObject);
    begin
       Form1.Close;
       //关闭窗体,退出应用
    end;
    end.



1.所需的三个控件: ChooseWA: TWordApplication; ChooseWD: TWordDocument; ChooseWF: TWordFont; 2.检查计算机是否安装了WORD try ChooseWA.Connect; except MessageBox(handle,'无法链接,请确认电脑上是否安装Word XP/2003及以上版本','连接出错', MB_Ok or MB_ICONERROR); Abort; end; 3.关闭WORD拼写检查 //因为Word进行拼写检查需要很多时间,所以首先关闭检查 ChooseWA.Options.CheckSpellingAsYouType := False; ChooseWA.Options.CheckGrammarAsYouType := False; 4.新建一个文档并设置文档的标题 var NewDocument: _Document; ItemIndex: OleVariant; ItemIndex := 1; NewDocument := ChooseWA.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam); ChooseWD.ConnectTo(NewDocument); ChooseWD.Windows.Item(ItemIndex).Caption := '我新建的第一个文档';//此文档的第一个窗口的标题,试卷 名称 5.写入数据 ChooseWD.Range.InsertAfter('第一行数据'+#13);//#13代表换行 6.设置字体格式 procedure SetFont(aBold,aItalic,aShadow,aSize:integer); begin ChooseWF.ConnectTo(ChooseWD.Sentences.Get_Last.Font); ChooseWF.Name := '宋体'; ChooseWF.Bold := aBold; ChooseWF.Italic := aItalic; ChooseWF.Shadow := aShadow; ChooseWF.Size := aSize; end; 如:SetFont(1,0,0,22);//设置字体为22号 7.向WORD中写入表格 (1)插入表格: ChooseWD.Tables.Add(ChooseWD.Words.Last, RowNum, ColNum,EmptyParam,EmptyParam);//RowNum为行数, ColNum为列数 (2)插入数据: ChooseWD.Tables.Item(1).Cell(1,1).Range.Text := '第一行第一列'; ChooseWD.Tables.Item(1).Cell(2,1).Range.Text := '第二行第一列'; 8.向WORD写入图片 var Img: TImage; MyFormat: Word; AData: Cardinal; APalette: HPALETTE; Img.Picture.LoadFromFile('文件路径');//从文件夹中导入图片至控件 Img.Picture.SaveToClipboardFormat(MyFormat,AData,APalette);//将图片转存到剪贴板中 Clipboard.SetAsHandle(MyFormat,AData);//将剪贴板中的图片复制出来,注意添加Clipbrd单元 ChooseWD.Sentences.Last.Paste;//在WORD中粘贴图片 9.在界面中显示WORD文档 ChooseWA.Visible:=true; 10.断开与WORD的链接 ChooseWA.Disconnect; ChooseWD.Disconnect; Chart1.SaveToBitmapFile(‘文件名.bmp’);
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值