| 
    
     |  | ▼わし さん 今晩は。 
 私の2003では、問題なく動きました。
 
 'Excel2003側のマクロ
 Sub test()
 Dim acc As Object
 Set acc = CreateObject("Access.Application")
 acc.Visible = True
 acc.opencurrentdatabase "D:\test\test.mdb"
 acc.docmd.runmacro "B_macro"
 acc.closecurrentdatabase
 acc.Quit
 Set acc = Nothing
 End Sub
 
 'Access2003側のモジュールで、Module1にプロージャを
 Function macro()
 MsgBox "mdbです"
 End Function
 のようにつくり、
 
 'Access2003のマクロで
 プロージャの実行 macro ()
 を登録し、マクロ名を"B_macro"で保存し、終了してやったところ、
 うまく動きました。
 
 "Bマクロ"がAccessのモジュールにあるのか、マクロにあるのか
 もう一度確認してみてください。
 
 
 >以前にも同じような質問があったかと思いますが、
 >(http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=5609;id=excel)
 
 acc.Run "Bマクロ"
 '↑"Bマクロ"が標準モジュールにある場合
 '   ↑を↓に変更してください
 acc.DoCmd.RunMacro "Bマクロ"
 '   これに変更してください
 
 の記事があるように。
 
 
 |  |