• ベストアンサー

CSVファイルが開かれているかどうか

ファイルシステムオブジェクトを使いファイル操作をしているのですが、 『○○.csv』ファイルをExcelで開いていた状態で『○○.csv』ファイルを削除しようとしたときに、『書き込みできません。』という実行時エラーがでます。 それを避けるために、開かれているかどうかのチェックを行いたいのですが、 ファイルシステムオブジェクトに、それらしいメソッドを見つけることができません(;。;) どなたか知っておられる方がいらっしゃれば、教えていただきたのですが・・・。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 ファイルが既に開かれていてエラーが出るのは、アプリケーション(質問の例だとExcel)がファイルをロックしている(排他的に開いている)場合のみです。 で、この場合の判定は、エラーハンドリングが一般的(というかそれ以外の方法が見つからない・・・)です。 また、メモ帳(NotePad)のようにロックせずに開いている(排他的でない)場合は、判定する方法はないようです。 以下は参考URLです。判定方法(Nameステートメントでエラーハンドリング)が載っています。 http://www.bcap.co.jp/hanafusa/VBHLP/excel03.htm#FileRun

参考URL:
http://www.bcap.co.jp/hanafusa/VBHLP/excel03.htm#FileRun
snowsaab
質問者

お礼

そうなのですね。よくわかりました・・・。 すいません。ここまで調べていただいて。 大変参考になりました。 ありがとうございましたm(__)m

その他の回答 (1)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 手っ取り早い方法として、エラーハンドリングをするという方法はどうですか。

snowsaab
質問者

補足

そうですね。 それも考えたのですが、他に方法はないものかとおたずねしたところです(^。^; 最終手段では、エラーハンドリングでいこうと思います。 もし、エラーハンドリング以外に何かあれば教えてくださいm(__)m

関連するQ&A

専門家に質問してみよう