• 締切済み

他のMDBのマクロを実行する方法

いつもご指導ありがとうございます。 マクロ実行中のMDBファイルから、他のMDBのマクロを実行する方法を教えてください。 (環境はWindows7 Access2007です) 過去を検索して C:\Program Files\Microsoft office\office12\MSACCESS.EXE C:\work\作成.mdb/xマクロ1 で起動→マクロ実行は成功したのですが 過去検索の中の Startup コマンド ライン オプション を利用して Shell("msaccess.exe c:\work\作成.mdb /x マクロ1") がどうしても不成功に終わります。 できれば、他のMDBが起動せず、「裏」・・(すみません用語がわからなくて)で実行できたらと考えているのですが。 宜しく、ご教授・ご指導をお願い致します。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

質問自体はすぐに分かったのですが、少し別のことを考えてみました。 このように、"""で括ります。たぶん、これで通るように思います。ただ、こちらは、WinXPだから、条件が違うかもしれません。以下のrtn は、あまり意味がありません。ただし、rtn に、0 が、返ると失敗ということになります。 rtn = Shell("msaccess.exe " & """c:\work\作成.mdb """ & "/x マクロ1") 'ただし、こちらのコードは、実行ファイルには、理由があってフルアドレスを使っています。 '-------- 他のMDBが起動せず、「裏」ということは、こんなことを想像しました。  Set objAcc = CreateObject("Access.Application")  mFn = "c:\work\作成.mdb"  With objAcc   .OpenCurrentDatabase mFn   .Visible = True   '(例:次にVBAマクロを書く)   .DoCmd.OpenForm "Form1", acNormal, "", "", , acNormal  End With  Set objAcc = Nothing