C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: 開かれているエクセルファイルを終了する方法について


(過去ログ 148 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■86576 / inTopicNo.1)  開かれているエクセルファイルを終了する方法について
  
□投稿者/ 夜叉丸 (93回)-(2018/02/16(Fri) 11:37:00)

分類:[.NET 全般] 


System.IO.Directory.Delete にて
ディレクトリを削除しようとしているのですが、
そのフォルダの中にあるファイルが
テキストファイルなどの場合は開かれていようが
開かれてなかろうが関係なくディレクトリを削除することができるのですが、
エクセルファイルファイルなどの場合はファイルが開かれている場合に例外が発生し、
ディレクトリを削除することができません。

@テキストファイルのようにファイルが開いたまま削除することは可能でしょうか?
Aファイルを閉じて削除することはできますか?
Bとにかくディレクトリを削除する方法はありますか?



引用返信 編集キー/
■86577 / inTopicNo.2)  Re[1]: 開かれているエクセルファイルを終了する方法について
□投稿者/ 魔界の仮面弁士 (1568回)-(2018/02/16(Fri) 12:50:29)
No86576 (夜叉丸 さん) に返信
> テキストファイルなどの場合は開かれていようが
> 開かれてなかろうが関係なくディレクトリを削除することができるのですが、

そういうことではありません。
「メモ帳」は、ファイルの内容を読み込みおわると、すぐにクローズしているだけです。


Excel ファイルであっても、右クリック→新規作成で開いた場合には、
メモリに読み込んだ後直ちにクローズされるので、
元のファイルはすぐに削除することができます。


結局のところ、それらのファイルをオープンしたままになっているアプリケーションが
存在しているかどうか、ということになります。アンチウィルスソフトウェアが
対象のファイルをスキャンしている最中も、ロックされることになるでしょう。

あるいはファイルのみならずディレクトリについても、それを掴んでいる
アプリケーションがあれば削除が失敗する可能性があります。


> とにかくディレクトリを削除する方法はありますか?

その場合、そのファイルやディレクトリを利用しているアプリケーションに
悪影響が出てしまいますよね。使用しているソフトを特定した上で
随時終了するようにしてください。

ただし、アプリケーションを正しく終了させる方法というのは、
時として個別対応が必要となることもあります。

処理実行中は終了ボタンを受け付けないアプリケーションや、
終了時に「ファイル名を指定して保存」のダイアログを伴うアプリなども
ありますからね。


どうしても削除できない場合には、
https://support.microsoft.com/ja-jp/help/179365/
などを利用して、次回起動時に削除するようにするといった手もあります。
引用返信 編集キー/
■86578 / inTopicNo.3)  Re[2]: 開かれているエクセルファイルを終了する方法について
□投稿者/ とっちゃん (487回)-(2018/02/16(Fri) 15:04:56)
そのほか、コマンドプロンプトで該当ディレクトリあるいはそのサブディレクトリに移動している状態で
実行しようとしてもエラーになります(ディレクトリが利用中のため)。

GUIアプリ(アプリの外部からは見えない)でもコマンドプロンプト同様カレントディレクトリがそこあるいはそのサブフォルダにある場合は
同様にディレクトリが利用中状態となるため削除できません。

引用返信 編集キー/
■86579 / inTopicNo.4)  Re[3]: 開かれているエクセルファイルを終了する方法について
□投稿者/ 夜叉丸 (94回)-(2018/02/16(Fri) 16:40:23)
ありがとうございました。
try 〜 catch でエラーを捕まえてメッセージを
出すだすことにします。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -