IEのリンクで新規に開いたIEを閉じる


たう  2007-12-05 08:49:27  No: 99881

Public e As New InternetExplorer

e.Nabigate("URL")

e.Document.links(0)Click

とした時に、リンクによっては、新しいIEが開くリンクがあります。

この時、新しいIE開いた場合だけ、開いたIEを閉じたいのですが

どうした良いのでしょうか?


スクリプトプログラマ  2007-12-07 05:37:28  No: 99882

ShellWindowsを監視するとか


魔界の仮面弁士  2007-12-08 01:30:52  No: 99883

> e.Nabigate("URL")
Nabigate → Navigate の間違いですよね。

あとメソッドを括弧つきで呼び出している所を見ると、
VB.NET の構文のようにも見えますが、実際には
  『e.Navigate ("URL")』…括弧前に空白
  『e.Navigate "URL"』…括弧を使わない
  『Call e.Navigate("URL")』…Call を使用
のいずれかなのですよね?

> この時、新しいIE開いた場合だけ、開いたIEを閉じたいのですが
「開いたIE」というのは、新しく開かれたウィンドウのことですか?
それとも、開く元となったウィンドウのことですか?

前者の事であれば、そもそも IE が開かれないよう、

Private WithEvents e As InternetExplorer
Private Sub Form_Load()
  Set e = New InternetExplorer
  e.Visible = True
  e.Navigate URL
End Sub
Private Sub e_NewWindow2(ppDisp As Object, Cancel As Boolean)
  Cancel = True
End Sub

などのようにしてしまえば良いと思います。

後者の場合は、そのタイミングで、元ブラウザの Quit メソッドを呼び出せば良いかと。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加