Access2000のマクロを動かすには?

解決


Air  2007-11-18 19:30:11  No: 28539  IP: [192.*.*.*]

WindowsXP Pro、Delphi7 Proの環境で、Access2000のマクロを動かす
プログラムを作成したいと思っています。
やり方が分からないのですが、どなたか御教授頂けないでしょうか?

編集 削除
さなみ  2007-11-19 23:42:46  No: 28540  IP: [192.*.*.*]

OLEオートメーションが使えると思います。

以前はBorlandの公式サイトにやり方が書いてあったと思うのですが、みつからないです。

Excelの例ですが。
http://www.wwlnk.com/boheme/delphi/vbtodel/daf0320.html
http://www.wwlnk.com/boheme/delphi/vbtodel/daf0160.html
を参考にしてください。

こちらにOLEオートメーションを使って、ExcelからAccessのマクロを呼ぶサンプルがあります。
http://www.ken3.org/vba/backno/vba016.html

Runというメソッドを呼べばよいみたいです。

編集 削除
Air  2007-11-21 07:49:47  No: 28541  IP: [192.*.*.*]

さなみさん、ありがとうございます。

昨日、TAccessApplicationを使用して動かせるところまでは
出来上がりました。
参考までに以下に貼り付けます。

procedure AccessAtach;
var
  AccessApp : TAccessApplication;
begin
  AccessApp := TAccessApplication.Create(nil);
  try
    try
      AccessApp.OpenCurrentDatabase('C:\test\test.mdb',True);
      AccessApp.DoCmd.RunMacro('マクロ1',1,'');
      AccessApp.CloseCurrentDatabase;
    Except
      on e:Exception do begin
        ShowMessage(e.Message);
      end;
    end;
  finally
    AccessApp.Free;
  end;

end;

編集 削除