- 締切済み
VBAにて:IEを閉じるにはどうすれば良いですか?
セルB1にハイパーリンクが設定してあると、以下のコードにて、IEを起動することが出来ます。 IEが起動されたときに、リンク切れがあると”お探しのページはありません”と出ますが、この時にIEを閉じるようにしたいのです。 どのようにすれば実現できるか教えてください。 Range("B1").Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- popesyu
- ベストアンサー率36% (1782/4883)
回答No.1
そのサンプルコードはIEを開いているのではなく、リンクを張っているだけです。そこをクリックしてIEが起動されるのはOS側の操作です。OSや設定によってはIE以外のプラウザが起動します。 それ以降の操作はOS側の作業になりますので、そこから閉じるとなると結構至難の技になりますよ。 今OSが抱えているプロセスを取り込んで、目的のプロセスがみつかったら停止させるとかでしょうか? VBAで可能なのか知りませんが、VBでは似たようなことが出来ますでおそらく出来るはずでしょう。 但しこの手法の問題は、そのターゲットのプロセスが「お探しのページはありません」かどうかが判別できないということでしょうねぇ。 あるいは最初からAPIを使って、ハンドルを確保したままIEを起動させる方法とか。これでしたら目的のプロセスだけを閉じるなんてことも可能です。要はリンク機能を自作することになるので、開いているものが何なのかとかも確認できそうな、できないようなw まぁ私もよく分かっていないので。こういうことに挑戦されてみたいのであれば、APIのShellExecute辺りでよくよく調べてみて下さい。
お礼
回答ありがとうございます。 お礼遅くなりました。