首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 使用 DDE 與 Word 互動:建立連結、執行巨集命令

     編輯:Delphi

DDE 簡介

Dynamic Data Exchange (DDE) 是 Windows 早期進程間通訊機制,透過「服務|主題|項目」三層命名。Word 作為 DDE Server,服務名 WinWord,主題 System,項目為巨集命令 (如 [FileNew])。

Delphi 實作步驟

  1. 工具箱 System 頁面拖放 TDdeClientConv,命名 DdeClient。
  2. 設定 DdeClient.SetLink('WinWord', 'System')。
  3. 呼叫 OpenLink 建立會話。
  4. 用 ExecuteMacro(PChar('[Command]'), False) 發送命令。
  5. 完成後 CloseLink 釋放。

封裝函數

procedure TForm1.RunWordMacro(const MacroCmd: string);
var
  Macro: array[0..255] of Char;
begin
  DdeClient.SetLink('WinWord', 'System');
  if not DdeClient.OpenLink then
  begin
    ShowMessage('無法連接 Word,請確認 Word 已啟動');
    Exit;
  end;
  StrPCopy(Macro, MacroCmd);
  if not DdeClient.ExecuteMacro(Macro, False) then
    ShowMessage('巨集執行失敗:' + MacroCmd);
  DdeClient.CloseLink;
end;

常用 Word 巨集命令表

功能巨集命令
新增文件[FileNew]
開啟舊檔[FileOpen]
儲存[FileSave]
另存新檔[FileSaveAs]
列印[FilePrint]
關閉文件[FileClose]
結束 Word[FileExit]
剪下[EditCut]
複製[EditCopy]
貼上[EditPaste]
復原[EditUndo]
重做[EditRedo]
全選[EditSelectAll]
插入分頁符[InsertBreak]
插入表格[TableInsertTable]
插入列[TableInsertRow]
刪除列[TableDeleteRow]
切分表格[TableSplit]
選取列/欄/表格[TableSelectRow] / [TableSelectColumn] / [TableSelectTable]
表格排序[TableSort]
檢視模式切換[ViewNormal] / [ViewPage] / [ViewOutline]

注意事項與現代替代

  • DDE 需 Word 已執行且為 DDE Server (舊版 Word 預設啟用,新版可能需設定)。
  • DDE 為單工、無型別安全、易受版本影響,**已被 Microsoft 棄用**。
  • 現代方案:OLE 自動化 (CreateOleObject('Word.Application'))、Open XML SDK (操作 .docx)、Microsoft Graph API (雲端)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved