Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Access 2016)
他のAccessファイルのマクロ実行
投稿日時: 21/07/30 10:38:50
投稿者: moguraninjya

よろしくお願いします。
 
ネットワーク上にAccessファイルを保存しています。
Aファイルのフォームボタンから、Bファイルのマクロを実行しようと思い、
 
Private Sub cmd_master_update_Click()
 
Shell ("msaccess.exe \\192.168.1.888\共有データ\データベース\Bファイル M_マクロ")
 
End Sub
 
と、コードを書いたのですが、
 
「MicrosoftAccessを起動するためのコマンドラインに、MicrosoftAccessで認識できないオプションが含まれています。MicrosoftAccessを終了し、正しいコマンドラインのオプションを指定して、再起動してください。」
 
とエラーになってしまいます。
 
また、Bファイルの場所が確認できないともエラーが出てしまい、フルパスの書き方も間違っているのでしょうか。
 
ご教示頂けますと幸いです。
よろしくお願いします。

回答
投稿日時: 21/07/30 14:38:55
投稿者: sk

引用:
Aファイルのフォームボタンから、Bファイルのマクロを実行

引用:
Shell ("msaccess.exe \\192.168.1.888\共有データ\データベース\Bファイル M_マクロ")

/x スイッチの指定が抜けています。
 
------------------------------------------------------------------------
 
Shell "msaccess.exe \\192.168.1.888\共有データ\データベース\Bファイル.accdb /x M_マクロ"
 
------------------------------------------------------------------------
 
引用:
ネットワーク上にAccessファイルを保存しています。

但し、実際にそのマクロが実行されるかどうかはまた別の問題です。

投稿日時: 21/07/30 16:06:20
投稿者: moguraninjya

sk様
 
ありがとうございます!
 
スイッチの指定を入れたら「MicrosoftAccessを起動するためのコマンドライン〜」のエラー出なくなりました^^
 
マクロも実行できているようです!
 
実行するとBファイルが開いてしまうのですが、開かずに実行することは可能でしょうか?
 
質問内容が変わってしまって申し訳ありません。

回答
投稿日時: 21/07/30 16:22:36
投稿者: sk

引用:
実行するとBファイルが開いてしまうのですが、開かずに実行することは可能でしょうか?

指定した Access データベースを開いてから、指定したマクロを実行させる」
というのが /x スイッチの機能なので、「開かずに」というのは無理です。
 
この場合は「ウィンドウを非表示にして開く」が妥当。
 
--------------------------------------------------------------------
 
Shell "msaccess.exe \\192.168.1.888\共有データ\データベース\Bファイル.accdb /x M_マクロ", vbHide
 
--------------------------------------------------------------------
 
なお、ウィンドウ非表示モードであれ、 Access が起動して
データベースファイルが開かれることには変わりはありませんから、
[M_マクロ]の最後に[Accessの終了]アクションを呼び出すように
しておかないと、非表示のままで開きっぱなしになります。

投稿日時: 21/08/02 07:10:29
投稿者: moguraninjya

sk様
 
おはようございます!
 
別件質問のお返事もありがとうございました!
 
アドバイス頂いた通り、やってみます^^
 
また質問させて戴いた際には、よろしくお願い致します。