首页 > 解决方案 > 运行时错误 91 与 Excel VBA 中的 HTML 文档

问题描述

我制作了以下代码从网站获取一个例句,对应于 A 列中的一个单词。当我运行它时,我得到一个运行时错误 91 "Run-Time Error '91': Object Variable or With Block Variable Not Set " 但是,如果我在收到错误后按“调试”并按 F5 继续执行,则代码会再次完全运行而不会出现错误。此外,如果我逐行运行代码(使用 F8),则不会出现错误。

我添加了参考 Microsoft HTML Object Library、Microsoft Internet Controls。

如果您能告知我为什么出错以及如何解决它,我将不胜感激。

以下是 VBA 代码。

Sub getexample()
Dim ie As InternetExplorer
Dim HT As HTMLDocument
Dim str_URL As String
Dim str_WORD As String
Dim sht As Worksheet
Dim rng As Range
Dim str_example As String

Set sht = ThisWorkbook.Sheets(1)
Set ie = New InternetExplorer
LastRow = sht.Cells(sht.Rows.Count, 1).End(xlUp).Row

For Each rng In sht.Range("A1:A" & LastRow)
str_WORD = rng.Value

'get an example
str_URL = "https://en.dict.naver.com/#/search?query=" & str_WORD
ie.navigate str_URL

Do While ie.readyState <> READYSTATE_COMPLETE
    DoEvents
Loop

Set HT = ie.document
str_example = HT.getElementsByClassName("origin is-audible")(1).getElementsByTagName("p")(0).innerText

rng.Offset(0, 1) = str_example

Next
ie.Quit
End Sub

标签: excelvbaweb-scrapingruntime-error

解决方案


推荐阅读