こんにちは私はエラー91( "オブジェクト変数またはブロック変数が設定されていません")を取得するこの奇妙な問題があります。私はスクリプトを実行するときにエラーが発生するとは限りません。私は成功することなくできる限り多くのことをしようとしました。VBA EXCELエラー91オブジェクト変数またはブロック変数が設定されていません
一部のPCコンポーネントの最新価格を取得するためにサイトを削っています。
これを行うために、私はスクリプトを作成し、スクリプトをさまざまな部分に対して順次複数回呼び出します。エラーは特定の部品に関連していません。私はすべての部分でランダムにエラーを取得します。場合によっては、エラーなくすべての通話を行うことができます。
スクリプト(ない完全なスクリプト、必要なものだけ):
Sub ImportUrlData(url As String)
Dim ie As InternetExplorer
Dim html As HTMLDocument
Dim varListingIDElement As IHTMLElement
Dim varShopName As String
varShopName = ""
Set ie = New InternetExplorer
ie.Visible = False
ie.navigate url
Do While ie.readyState <> READYSTATE_COMPLETE
DoEvents
Loop
Set html = ie.document
Set varListingIDElement = html.getElementById("listing")
varShopName = getXPathElement("/table/tbody/tr[1]/td[1]/p/a", varListingIDElement).innerText
私はいつもこの最後の行にエラーを取得:
varShopName = getXPathElement("/table/tbody/tr[" & count & "]/td[1]/p/a", varListingIDElement).innerText
が(エラーが内部で発生していません'getXPathElement'関数なので、それを表示する必要はありません。ちょっと調べてみたいのですが、ここで編集して投稿します)
F8で最初から最後までデバッグするとき私は決して得ないエラー。前の通話がまだ終了していないうちに、次の通話がすでに開始されている可能性はありますか?
ありがとうございます!
(申し訳ありませんが、私が監督しているいくつかのオランダ語の単語が存在する場合。)
私は最初のアプローチを試してみましたが、それは長い間働いていました。今度は第2のアプローチを追加します。 'Application.Wait(Now + TimeValue( "00:00:02")'の後に ')'を忘れました。 6文字以上を追加または変更する必要があるため編集できません。 –