• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「エクセルファイルが開いていたら開かない」としたい)

エクセルファイルが開いていたら開かない

このQ&Aのポイント
  • VB2010でエクセルファイルを開く際に、既にファイルが開いている場合に2個開かれてしまい、最後に開いたファイルが読み取り専用になる問題が発生しています。
  • 問題の解決策として、IF文を使用してエクセルファイルが開いているかどうかを判定し、開いている場合は「既に開いています」とメッセージを表示してExitSubすることが望ましいです。
  • これにより、エクセルファイルが重複して開かれることを防ぎ、最後に開いたファイルが読み取り専用になる問題を回避することができます。

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

VB2010で新たな「方法」があるかもしれませんが 古典的?な方法です。 花ちゃん さんの 指定のファイルが使用中かどうかを調べる (015) http://hanatyan.sakura.ne.jp/vbhlp/excel03.htm おしまいの方にあります。 Function モジュールに作りかえれば使い回しが出来ます。

KOMETLJ
質問者

お礼

ありがとうございます。

その他の回答 (1)

回答No.1

こんにちは。 今、私の新しいパソコンには、VB.Net はインストールしていないので試せないのですが、二重起動の問題ですよね。いくつか方法はあると思うのですが、 ひとつの方法ですが、 ExcApp = CreateObject("Excel.Application") このコードの前に、GetObject(, "Excel.Application")で、もし、オブジェクトが取れれば、メッセージを出すという方法があるはずです。 他は、WMIやWin32 APIで、取る方法もありますが、上記方法が、もっとも簡単だと思います。

KOMETLJ
質問者

お礼

ありがとうございます。

関連するQ&A