• ベストアンサー

VBからACCESSのマクロを起動できますか?

VB6でACCESSのテーブルを参照しています。 そのMDBの中にあるマクロをVB側から起動できないでしょうか? 教えてください。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ちょっとまわりくどいですが、 MDB 内のモジュールで Public Function Test() DoCmd.RunMacro ("マクロ1") End Function のようにしておき、 VB 側からこれを Private Sub CommandButton1_Click() Dim aa As Access.Application Set aa = GetObject("D:\Test\db1.mdb") aa.Run "Test" End Sub のようにしてやればマクロ1 を呼び出すことができると思います。 ( 上記の方法で Excell 2000 から Access 2000 のマクロを呼び出せるのは確認しました。VB でも可能だと思います。Access 2002 以降では確認していないのですが、Access.Application に RunMacro というメソッドが追加されていれば、それを使用して直接マクロを実行することが可能だと思います。)

khattori
質問者

補足

>Dim aa As Access.Application VBでこの部分で”ユーザ定義型は定義されていません”のエラーが出ます。 Dim aa As Excel.Application は通ります。 Access.ApplicationはVBで認められてないのでしょうか?

その他の回答 (2)

回答No.3

>>Dim aa As Access.Application >VBでこの部分で”ユーザ定義型は定義されていません”のエラーが出ます。 次のどちらかの方法で解決できると思います。 (A) As Access.Application → As Object に変更 (B) Excel のメニューの「ツール」→「マクロ」→「 Visual Basic Editor」→「ツール」→「参照設定」→「 Microsoft Access X.X Object Library 」にチェック

khattori
質問者

お礼

出来ました。 (a)を試したらできました。 そのあと(b)もしておきました。 本当にありがとうございました。 m(__)m  (^~^)

  • m-toshi
  • ベストアンサー率31% (6/19)
回答No.1

即答になりますが、できません。(^^; 出来るのは、テーブルとクエリーのみです。 そっけない回答で申し訳ないのですが、 事実です。

khattori
質問者

お礼

ありがとうございました。 遠回りしないですみました。

関連するQ&A

専門家に質問してみよう