• ベストアンサー

【動作中のプロセスを終了させる方法】

VBAでシステム開発しています。 システムを起動した時に、別のExcel(ドキュメント等)ファイルが使用中だった時に、ファイル名を指定して、ピンポイントでプロセスを終了する方法をどなたかご存知の方、教えてください。 宜しくお願いします。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.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

mari0629
質問者

お礼

早速実装したところ、教えて頂いたロジックで要件を満たすことができました。 どうもありがとうございました。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

考えてみたこともないので、なんとも言えませんが、自分のプロセスを中断し終了するならわかるのですが、相手のファイルのブック(fname)を終了させるためには、GetObject("Excel.Application") で、既存のブックを乗っ取って、そこで、Workbooks(fname).Close を仕掛けるということになるのだろうと思います。(^^; そんなことはきいたこともないけれども。

mari0629
質問者

お礼

アドバイスをありがとうございます。 No3.hana-hana3さんの方法で実装することが確認できました。

  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.1

クラス名かキャプション名がわかっているのであれば、下記のURLが使用できます。

参考URL:
http://www.bcap.co.jp/hanafusa/VBHLP/handle.htm
mari0629
質問者

お礼

参考URLをありがとうございます。 探すのがなかなか大変でしたので、参考にさせていただきます。

関連するQ&A

専門家に質問してみよう