excel - 运行时错误 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
解决方案
推荐阅读
- r - 使用 if 条件修改 for 循环以在 R 中应用格式
- parquet - 我正在尝试在 TDCH jar 1.6 版本的帮助下将来自 teradata 的 parquet 文件存储在 HDFS 中
- ios - 删除谷歌地图的折线
- c# - 这个语句可以用 ?? 来简化?或者 ?。运营商?
- amazon-web-services - AWS EC2 地址端口突然不工作了。节点服务器
- matlab - 如何读取文本文件中所需的行范围并将这些范围的元素分配给 MATLAB 中的不同矩阵?
- java - 在具有重复条目的数组中查找具有最大(全局)值的对象
- python - 每次终端关闭时如何删除数据库?
- php - 未收到发送到特定域的邮件(Laravel 5.5)
- html - Firebase 实时数据库离子返回 null