用DDE控制Word

DDE(Dynamic Data Exchange),称为动态数据交换。用于进程间的通讯,看看他如何来和Word交互。

在System页签下有TDdeClientConv组件,拖一个放到界面上,然后我们写如下代码:

unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, OleServer, StdCtrls, DdeMan;



type

  TForm1 = class(TForm)

    Button1: TButton;

    DdeClientConv1: TDdeClientConv;

    procedure Button1Click(Sender: TObject);

  private

    { Private declarations }

//执行word的宏命令

    procedure RunMacro(macname:PChar);

  public

    { Public declarations }

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);

begin

//执行保存文件的宏命令

  RunMacro('[FileSave]');

end;



procedure TForm1.RunMacro(macname: PAnsiChar);

var

  macro: array [0..80] of char;

begin

  //设置于word的连接

  DdeClientConv1.SetLink('WinWord','System');

  //打开连接

  if not DdeClientConv1.OpenLink then

  begin

    ShowMessage('打开连接出错!');

  end;

  if not DdeClientConv1.ExecuteMacro(macname,False) then

  begin

    ShowMessage('执行宏命令出错!');

  end;

end;



end.
View Code

 

你可能感兴趣的:(word)