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.