• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセスからエクセルのプロシージャーを実行する際の)

アクセスからエクセルのプロシージャーを実行する際のエラー

このQ&Aのポイント
  • アクセスからエクセルのプロシージャーを実行する際にエラーが発生しています。
  • エクセルファイルのパスとプロシージャ名、アクセスのイベントなどを設定していますが、実行時エラー1004が発生します。
  • エクセルファイルが開けなくなる問題や回復の表示も発生しています。オフィス2007です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんばんは。 >xlApp.Visible = True >xlApp.Run "'" & MyFileName & "'!" & "test" >にしたら、全面にmsgboxが表示されました どうもすみません、気が付かなくて! もともと、Excel側がエラーを出していたので、いくつかのトラブルを想定しながら、今回の回答までに来たので、そこまでは気が回りませんでした。 私は、Win7 で試してダメだった後に、XPで試して、MsgBox だけ出るので、そのつもりでいたのでいたのです。

YWZTYZKJ
質問者

お礼

いえいえ、とんでもないです。大変助かりました。ありがとうございました。

その他の回答 (1)

回答No.1

こんにちは。 >MyFileName = "C:\Users\User\Desktop\a.xlsm" >res = App.Application.Run(MyFileName & "!" & "test") これをセットでみると、 App.Application.Run("'" & MyFileName & "'!" & "test") とファイル名がついている場合は、「'」で括るはずです……。   Dim xlApp As Excel.Application   Dim xlBook As Excel.Workbook   Dim MyFileName As String   ' Dim res    As Variant   'Instance 生成   Set xlApp = New Excel.Application   MyFileName = "C:\Users\User\Desktop\a.xlsm"   Set xlBook = xlApp.Workbooks.Open(MyFileName)   xlApp.Run "'" & MyFileName & "'!" & "test"   xlBook.Close False   xlApp.Quit   Set xlApp = Nothing End Sub リンク先は、もう10年近く前で、環境が違いますから、同じようにいかないと思います。 根本的な解決にはないかもしれません。まだ、分からない部分があります。 こちらでは、MsgBox は、前面に出て来ませんでした。この程度でも、Windowを探して、それを最前面に持ってくるというコードを付けるのは、ちょっと大げさすぎます。 こちらは、Windows 7 ですが、同じような現象が得られました。OSが、XPでしたら、このコードで上手く通るはずです。

YWZTYZKJ
質問者

お礼

当方もwin7です。 ファイル名は‘で括るべきなのですね。以後そうします。 頂いたコードで実行してみたところうまくできました!ありがとうございました。 こちらでもMsgBox は前面に出て来ませんでした。

YWZTYZKJ
質問者

補足

ちなみに xlApp.Visible = True xlApp.Run "'" & MyFileName & "'!" & "test" にしたら、全面にmsgboxが表示されました!

関連するQ&A