|
▼わし さん 今晩は。
私の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マクロ"
' これに変更してください
の記事があるように。
|
|