• 締切済み

VBAにて:IEを閉じるにはどうすれば良いですか?

セルB1にハイパーリンクが設定してあると、以下のコードにて、IEを起動することが出来ます。 IEが起動されたときに、リンク切れがあると”お探しのページはありません”と出ますが、この時にIEを閉じるようにしたいのです。 どのようにすれば実現できるか教えてください。 Range("B1").Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True     

みんなの回答

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

そのサンプルコードはIEを開いているのではなく、リンクを張っているだけです。そこをクリックしてIEが起動されるのはOS側の操作です。OSや設定によってはIE以外のプラウザが起動します。 それ以降の操作はOS側の作業になりますので、そこから閉じるとなると結構至難の技になりますよ。 今OSが抱えているプロセスを取り込んで、目的のプロセスがみつかったら停止させるとかでしょうか? VBAで可能なのか知りませんが、VBでは似たようなことが出来ますでおそらく出来るはずでしょう。 但しこの手法の問題は、そのターゲットのプロセスが「お探しのページはありません」かどうかが判別できないということでしょうねぇ。 あるいは最初からAPIを使って、ハンドルを確保したままIEを起動させる方法とか。これでしたら目的のプロセスだけを閉じるなんてことも可能です。要はリンク機能を自作することになるので、開いているものが何なのかとかも確認できそうな、できないようなw まぁ私もよく分かっていないので。こういうことに挑戦されてみたいのであれば、APIのShellExecute辺りでよくよく調べてみて下さい。

mk1234
質問者

お礼

回答ありがとうございます。 お礼遅くなりました。

関連するQ&A

専門家に質問してみよう