- ベストアンサー
【動作中のプロセスを終了させる方法】
VBAでシステム開発しています。 システムを起動した時に、別のExcel(ドキュメント等)ファイルが使用中だった時に、ファイル名を指定して、ピンポイントでプロセスを終了する方法をどなたかご存知の方、教えてください。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
同一のプロセスならば、起動中のブックを数えることで対応可能です。 で、自分以外のブックを閉じます。 If Workbooks.Count <> 1 Then For Each wb In Workbooks If wb.Name <> ThisWorkbook.Name Then Workbooks.Close wb.Name End If Next End If
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
回答No.2
考えてみたこともないので、なんとも言えませんが、自分のプロセスを中断し終了するならわかるのですが、相手のファイルのブック(fname)を終了させるためには、GetObject("Excel.Application") で、既存のブックを乗っ取って、そこで、Workbooks(fname).Close を仕掛けるということになるのだろうと思います。(^^; そんなことはきいたこともないけれども。
質問者
お礼
アドバイスをありがとうございます。 No3.hana-hana3さんの方法で実装することが確認できました。
- guruguru2
- ベストアンサー率29% (39/132)
回答No.1
クラス名かキャプション名がわかっているのであれば、下記のURLが使用できます。
質問者
お礼
参考URLをありがとうございます。 探すのがなかなか大変でしたので、参考にさせていただきます。
お礼
早速実装したところ、教えて頂いたロジックで要件を満たすことができました。 どうもありがとうございました。