• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの二重起動をやめたい)

エクセルの二重起動をやめたい

このQ&Aのポイント
  • VBからエクセルを起動する際、すでに開いているファイルは開かないようにしたく、検索をした結果の回答があり参考にしたのですが、うまくいきません。
  • 「オブジェクト」-「参照設定」でエクセルを選択することによって解決しましたが、For Each xlsBook In xlsApp.Workbooksの部分で上手く引っ掛けることができません。
  • 設定が足りないのかどうか、わかる方がいらっしゃいましたら教えていただけると助かります。

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

  • ベストアンサー
  • sorarisp
  • ベストアンサー率58% (7/12)
回答No.2

Excel.Applicationはクラス名(?)です。 Set xlsApp = GetObject(, "Excel.Application") 第2引数になるのでこのようにしたらどうでしょう?

kamechan
質問者

お礼

ありがとうございます。 早速やってみました。 そしたら、見事!2重に開かなくなりました。 ありがとうございます。 これでやっと先に進むことが出来ます。 感謝!感謝!

その他の回答 (1)

  • sorarisp
  • ベストアンサー率58% (7/12)
回答No.1

FullNameで受け取るパスは絶対パスだったと思います。 findBookPathは絶対パスになっていますか? それと、パスの最後等にスペース等が入っているとStrCompは-1を返すので注意してください。 上記の質問ですと、WorkbookをOpenする事は出来ているわけですよね。 そうすると、このぐらいしか思いつかないです。

kamechan
質問者

お礼

早速のご回答ありがとうございます。 初心者なのであまり難しいことは分かりませんが、 STOPで止めて確認したのですが、FullNameは”c:¥○○¥○○.xls” となっており最後に空白は入っていません。 また、OPENはできる状態で、二重に起動してしまう問題です。 後、   On Error Resume Next と   On Error GoTo 0を外して、 エクセルを起動した状態で走らせて見ると  Set xlsApp = GetObject("Excel.Application") でエラーが出て止まります。xlsApp =notingです。 このあたりに問題がありそうな気がしてきました。もう少し調べてみます。 では

関連するQ&A