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

わんくま同盟

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

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


■83317 / )  VB.NET プログラムからのプロセス終了とファイル削除
□投稿者/ おん (1回)-(2017/03/17(Fri) 09:34:42)

分類:[VB.NET/VB2005 以降] 

プログラム終了時に特定のExcelファイルを削除する処理を組んだのですが、
削除対象のファイルを開いているとエラーになるため、
最初に対象ファイルのプロセスを終了する処理を入れました。

しかし、Excelは1つのプロセスで複数のファイルを持っていて、
最全面に表示されているファイルしか個別のプロセス終了ができないようで、
対象ファイルのプロセスを終了できず、削除時にエラーになってしまう場合があります。

p.Kill()では関係のないファイルまでプロセス終了してしまうので、
対象のファイルがMainWindowでない場合にも、
ピンポイントで対象ファイルのみをプロセス終了することはできますでしょうか?

ご教授の程、よろしくお願いします。



以下が今回組んだプログラムです。

Dim fileName as String = "C:\hoge.xls"
Dim fInfo As System.IO.FileInfo = New System.IO.FileInfo(fileName)

For Each p As System.Diagnostics.Process In System.Diagnostics.Process.GetProcesses()
If p.MainWindowTitle.Contains(System.IO.Path.GetFileName(fileName)) = True Then
p.CloseMainWindow()
End If
Next

fInfo.Delete()
返信 編集キー/


管理者用

- Child Tree -