因此,通过VBA访问正在Excel中运行的东西,我绝对是一条鱼,而我对此非常困惑。
我正在尝试自动在IE中填写表单(该表单位于必须已经打开并且只能在IE中打开的弹出窗口中,因此我无法创建一个窗口然后导航至该窗口或使用Chrome)。根据我搜索到的最接近的东西,可以在打开的窗口中搜索并检查标题中是否有匹配项。
Debug.Print (wind.Document.Title)
工作正常,但是
wind.Document.GetElementByID("x").Value = "BOA"
给我一个运行时错误(对象变量或未设置块变量)
Dim noURL As Boolean
noURL = True
Dim windDoc As Object
If url_T.Value = "" Then
MsgBox "No URL provided"
Exit Sub
Else
For Each wind In CreateObject("Shell.Application").Windows
If wind = "Internet Explorer" Then
If InStr(UCase(wind.Document.Title), UCase(url_T.Value)) <> 0 Then
noURL = False
Exit For
End If
End If
Next wind
If noURL = True Then
MsgBox "No window located"
Exit Sub
End If
End If
wind.Visible = True
Debug.Print (wind.Document.Title)
wind.Document.GetElementByID("txtIncidentDescription").Value = "BOA"
这是我需要的元素的DOM视图(有人知道在IE中复制此视图的更好方法吗?)
答案 0 :(得分:0)
蒂姆·威廉姆斯(Tim Williams)的代码有效,然后您必须进一步挖掘。您要使用
<tr>
在您的情况下,然后添加选择Dim,但我只是在学习,Tim从那里带我们去,我和OP希望与我的另一篇文章Extract scrape after browser is open
相同