トップへ(mam-mam.net/)

DelphiからMS-Excelのブックを開いてマクロを実行

検索:

「DelphiからMS-Excelのブックを開いてマクロを実行」

DelphiからMS-Excelのブックを開いてマクロを実行するにはどうすれば良いか。

回答

普通に開いて、Runメソッドを使うだけです。
この場合、大きな注意点があって、マクロが存在しても開くときにマイクロソフト社のエクセルからの警告がありません。
警告なしにマクロを起動できてしまいます。

ソース

procedure TForm1.Button2Click(Sender: TObject);
var Excel,WB,WS:variant;
begin
  Excel := CreateOleObject('Excel.Application');
  //MS-EXCELを表示する
  Excel.Visible:= True;
  //ブックを開く
  WB:=Excel.WorkBooks.Open('c:\text.xls');
  //マクロを実行する
  Excel.Application.Run('Macro1');

  //MS-Excelを終了する
  Excel.Quit;
end;