Web サイトからデータを抽出してスプレッドシートに保持するプログラムを作成しました。しかし、私が直面している主な問題は、Internet Explorer のハングです。
With ie
.Visible = True
.Navigate urll
Do While .readyState <> 4
Application.StatusBar = "Opening Page : " & i & ", Please wait..."
DoEvents
Loop
Set html = .Document
End With
Internet Explorer が適切にロードできず、readystate 4 にならないため、ループ Do While がスタックして終了しないことがあります。この場合、ページを手動で更新する (つまり true の表示を維持する) か、停止する必要があります。プログラムを更新し、プログラムにいくつかの更新を行います (データのソースと宛先の場所)。10 番目の Web ページごとにループを開いたままにしておくと、これはかなり時間がかかります。
解決策が 1 つあります。つまり、ループの実行中に、プログラムはループの実行中に経過した時間をチェックする必要があります。ループが 50 秒以上続く場合、プログラムは現在のループを中断し、ページを更新して再開する必要があります。(より良いロジックがあれば教えてください)。
この仕事の正しいコーディングを行うことができません。誰か解けますか...