【发布时间】:2019-04-29 14:26:21
【问题描述】:
我正在尝试使用 VBA 在 Internet Explorer 的网页中填充 HTML 表格。我正在使用以下代码尝试输入一个值;字段具有唯一名称:
Dim objShellWins As SHDocVw.ShellWindows
Dim objIE As InternetExplorer
Dim objDoc As Object
For Each objIE In objShellWins 'Look at IE & Windows Explorer objects in shell
With objIE
'Look for URL matching strURL
If (InStr(1, .LocationURL, [URL], vbTextCompare)) Then
Set objDoc = .Document
If (InStr(1, objDoc.Title, [Title], vbTextCompare)) Then
objDoc.getElementsByName([Name])(0).Value = "Value"
End If
End If
End With
Next
我收到错误 91:在 objDoc.getElementsByName 行上未设置对象变量或块变量,但 objDoc.Title 返回正确的字符串。关于如何解决这个问题的任何想法?
【问题讨论】:
-
选择调试并在即时窗口
? objDoc.getElementsByName([Name]).length中执行以检查找到的节点数。 -
你有没有设置为
Microsoft Internet Controls的参考? -
如果可能的话,值得分享相关的 HTML,以使其对未来的读者更有用并帮助调试。
标签: html excel vba internet-explorer