- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「エクセルファイルが開いていたら開かない」としたい)
エクセルファイルが開いていたら開かない
このQ&Aのポイント
- VB2010でエクセルファイルを開く際に、既にファイルが開いている場合に2個開かれてしまい、最後に開いたファイルが読み取り専用になる問題が発生しています。
- 問題の解決策として、IF文を使用してエクセルファイルが開いているかどうかを判定し、開いている場合は「既に開いています」とメッセージを表示してExitSubすることが望ましいです。
- これにより、エクセルファイルが重複して開かれることを防ぎ、最後に開いたファイルが読み取り専用になる問題を回避することができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VB2010で新たな「方法」があるかもしれませんが 古典的?な方法です。 花ちゃん さんの 指定のファイルが使用中かどうかを調べる (015) http://hanatyan.sakura.ne.jp/vbhlp/excel03.htm おしまいの方にあります。 Function モジュールに作りかえれば使い回しが出来ます。
その他の回答 (1)
- WindFaller
- ベストアンサー率57% (465/803)
回答No.1
こんにちは。 今、私の新しいパソコンには、VB.Net はインストールしていないので試せないのですが、二重起動の問題ですよね。いくつか方法はあると思うのですが、 ひとつの方法ですが、 ExcApp = CreateObject("Excel.Application") このコードの前に、GetObject(, "Excel.Application")で、もし、オブジェクトが取れれば、メッセージを出すという方法があるはずです。 他は、WMIやWin32 APIで、取る方法もありますが、上記方法が、もっとも簡単だと思います。
質問者
お礼
ありがとうございます。
お礼
ありがとうございます。