ウィルスソフトで、IEからファイルのダウンロードが一発でできない。 削除


Message#8 2017年6月5日(月)17時32分
From: みらー
困ってます君のメッセージ(#6)への返事

通常は、ページ(URL)が遷移したら、
documentは遷移先のものになるはずですが…。
以下は簡単なサンプルです。

Sub test()
  Set objIE = CreateObject("InternetExplorer.Application")
  objIE.Visible = True

  objIE.navigate "http://〇〇〇"

  '最初のページ
  For Each objtag In objIE.document.getElementsByTagName("a")
    If objtag.innertext Like "http*" Then
      objtag.Click 'リンクをクリック
      Exit For
    End If
  Next objtag

  '遷移待機
  While objIE.readyState <> 4 Or objIE.Busy = True
    DoEvents
  Wend

  '遷移後のページ
  For Each objtag In objIE.document.getElementsByTagName("a")
    If objtag.innertext Like "http*" Then
      objtag.Click 'リンクをクリック
      Exit For
    End If
  Next objtag
End Sub

最初のページと遷移後ページで同じ処理をしていますが、
objIE.documentはページ遷移した時点で入れ替わってるので、
objIEを毎度用意する必要はありません。

「リンクがなくエラーになる」のは、
ページ遷移が完了する前に、documentを探すコードが走ったりしていませんか?



> このようにしたら遷移したドキュメントのURLを取得できました。
>
> Dim objShell, objIE2 As Object
> Set objShell = CreateObject("Shell.Application")
> Set objIE2 = objShell.Windows(objShell.Windows.Count - 1)
>
> ソースはここでした。
> https://teratail.com/questions/9052
>
> > みらーのメッセージ(#4)への返事
> >
> > ありがとうございます。
> >
> > ページが遷移しても、
> > 最初のie.documentのオブジェクトは変更していないので、
> > ie.document.urlは前のアドレスのままで、
> > リンクがなくエラーとなってしまいます。
> >
> > 遷移した、今開いている新しいページを
> > ie.documentにする方法はありますか?
> >
> > 新しいオブジェクトを作成しなおしすればいいでしょうか?

上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。

パスワード:

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com