続・WebBrowserコントロールで開いたファイルを閉じる方法


しばらくWebBrowserと格闘してたわけですが。
以前に書いた「WebBrowserで開いたWord、Excelファイルを閉じる方法」についてもう少し調べてみました。
やっぱDisposeじゃまずいでしょ。

”about:blank”をNavigateしてやれば見た目は真っ白になって閉じたように見える、ってのは以前書いたとおり。
よくよく調べてみたら、NavigateCompleteイベントが発生すればファイルは閉じてるようです。
以下確認方法。
  1. Wordファイルを開く。
  2. エクスプローラー等で”~$qqXXX.doc”のようなロックファイル(っていうのか?)があることを確認する。
  3. その後”about:blank”をNavigateする。
  4. NavigateCompleteイベント発生後さっきのロックファイルが消えていることを確認する。

ぶっちゃけWINWORD.EXEは消えません。でもこれってIEで同じ事やってもそのIEを閉じないうちは残ってます。
なのでもう気にしないことにしました。(爆
自分のやりたい事ってのは「WordにExcelのデータを差し込み文書のデータとして差し込む」ってことだったので、
どうせ差し込み終わったらまた開くので、EXEが消えない件はもう完全スルー。
ま、そもそもWordとExcelを使えば差込文書なんつうのは作れるわけで、なんでVB.NET上でそれをやってやらなきゃいかんのかは疑問。
でも仕様なんだから仕方が無い。

というわけで以上報告と自分メモ。