提问人:Grzegorz 提问时间:10/11/2023 最后编辑:tallerGrzegorz 更新时间:10/11/2023 访问量:83
使用 VBA 从 Web 文档 (Intranet) 输入元素获取值
Get value from web document (intranet) input element with VBA
问:
我无法从名为“截止日期”的输入字段中获取值
这是我的 HTML 和 VBA 代码。
我解决了错误 462,但无法检索某些数据。
实际上我收到一个错误: 运行时错误 '91: 未设置对象变量或 With 块变量
VBA:
Sub Dane_z_www()
Range("A1").Clear
Dim appIE As InternetExplorerMedium
Dim my_url As String
Dim TerminPlatnosci As String
Dim shellWins As SHDocVw.ShellWindows
Dim IE As SHDocVw.InternetExplorer
Dim Doc As HTMLDocument
my_url = "https://example.com"
Set appIE = New InternetExplorerMedium
With appIE
.Visible = True
.Navigate my_url
End With
Set shellWins = New SHDocVw.ShellWindows
For Each IE In shellWins
If IE.Name = "Internet Explorer" Then
Set IEObject1 = IE
Debug.Print IE.LocationURL
Debug.Print IE.LocationName
End If
Next
Set shellWins = Nothing
Set IE = Nothing
Do While appIE.Busy Or appIE.ReadyState <> 4
DoEvents
Loop
Set Doc = appIE.Document
'TerminPlatnosci = Trim(Doc.getelementsByName("section-36-control$xf-771$xf-784$xml_termin_platnosci-control$xforms-input-1")(0).Value)
'TerminPlatnosci = Trim(Doc.getElementsByTagName("tr")(0).getElementsByName("input id")(0).getAttribute("value"))
TerminPlatnosci = Trim(Doc.querySelector("input[name='section-36-control$xf-771$xf-784$xml_termin_platnosci-control$xforms-input-1']").getAttribute("value"))
Range("A1").Value = TerminPlatnosci
appIE.Quit
Set appIE = Nothing
MsgBox "Daty zostały wczytane", , "Komunikat"
End Sub
HTML格式:
该代码提供了我在尝试下载数据时使用的三种变体。
TerminPlatnosci = Trim(Doc.getelementsByName(“section-36-control$xf-771$xf-784$xml_termin_platnosci-control$xforms-input-1”)(0).值)
TerminPlatnosci = Trim(Doc.getElementsByTagName(“tr”)(0).getElementsByName(“输入 id”)(0).getAttribute(“值”))
TerminPlatnosci = Trim(Doc.querySelector(“input[name='section-36-control$xf-771$xf-784$xml_termin_platnosci-control$xforms-input-1']”).getAttribute(“value”))
范围(“A1”)。值 = TerminPlatnosci
答: 暂无答案
评论
Object variable or With block variable not set
getAttribute
Trim
Doc.querySelector