dポイントプレゼントキャンペーン実施中!

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

A 回答 (3件)

ちょっとまわりくどいですが、


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 というメソッドが追加されていれば、それを使用して直接マクロを実行することが可能だと思います。)

この回答への補足

>Dim aa As Access.Application
VBでこの部分で”ユーザ定義型は定義されていません”のエラーが出ます。

Dim aa As Excel.Application
は通ります。
Access.ApplicationはVBで認められてないのでしょうか?

補足日時:2007/06/26 13:24
    • good
    • 1

>>Dim aa As Access.Application


>VBでこの部分で”ユーザ定義型は定義されていません”のエラーが出ます。

次のどちらかの方法で解決できると思います。
(A) As Access.Application → As Object に変更
(B) Excel のメニューの「ツール」→「マクロ」→「 Visual Basic Editor」→「ツール」→「参照設定」→「 Microsoft Access X.X Object Library 」にチェック
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/29 14:56

即答になりますが、できません。

(^^;
出来るのは、テーブルとクエリーのみです。
そっけない回答で申し訳ないのですが、
事実です。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/15 14:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!