|
▼kobasan さん:回答ありがとうございます。
私が言っている Bマクロ は、標準モジュールではなく、
普通のマクロになります。
私のPCでは、
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
実行時エラー'7866
データベースファイルがないか、他のユーザーが排他モードで開いているため、
このデータベースを開くことができません。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
この様にエラーになってしまいます。
他の人がファイルを開いている事は無いのに、どうしてでしょうか?
>▼わし さん 今晩は。
>
>私の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マクロ"
>' これに変更してください
>
>の記事があるように。
|
|