VBA从HTML获取属性值
我试图创建宏,它将从特定属性获取数据,并简单地粘贴到excel上,我尝试使用getElementsById,但它对我不起作用 我有链接:VBA从HTML获取属性值,vba,excel,Vba,Excel,我试图创建宏,它将从特定属性获取数据,并简单地粘贴到excel上,我尝试使用getElementsById,但它对我不起作用 我有链接: 只需查看源代码,您就会找到属性名“lead context” 所以基本上我想要excel表上的值“OPK”,“F45CV ROI OPK”,“1-1521452141”和“1524521452” 谁能帮我简单的代码,对不起,因为我是VBA新手 谢谢您的时间:) 问候,, Mayur一种方法是抓取所有的元素并循环遍历它们以收集您需要的内容。我使用的变量赋值
只需查看源代码,您就会找到属性名“lead context”
所以基本上我想要excel表上的值“OPK”,“F45CV ROI OPK”,“1-1521452141”和“1524521452”
谁能帮我简单的代码,对不起,因为我是VBA新手
谢谢您的时间:)
问候,,
Mayur一种方法是抓取所有的
元素并循环遍历它们以收集您需要的内容。我使用的变量赋值需要工具、引用、MicrosoftHTML对象库,但如果您愿意,可以直接将它们称为对象
Dim eNPT As MSHTML.IHTMLElement, ecNPTs As MSHTML.IHTMLElementCollection
Set ecNPTs = ie.document.getElementsByTagName("input")
Range("A1:A5").ClearContents
For Each eNPT In ecNPTs
Select Case LCase(eNPT.getAttribute("name"))
Case "reg_source"
Range("A1") = eNPT.Value
Case "lead_context"
Range("A2") = eNPT.Value
Case "subscription_lead_context"
Range("A3") = eNPT.Value
Case "cam_source_code"
Range("A4") = eNPT.Value
Case "offer_code"
Range("A5") = eNPT.Value
End Select
If Application.CountA(Range("A1:A5")) = 5 Then Exit For
Next eNPT
Set ecNPTs = Nothing: Set eNPT = Nothing
GetElementById()
无法处理没有id且那些
元素只有名称的对象。你发布网站的HTML源代码而不是你自己的代码有什么原因吗?
Dim eNPT As MSHTML.IHTMLElement, ecNPTs As MSHTML.IHTMLElementCollection
Set ecNPTs = ie.document.getElementsByTagName("input")
Range("A1:A5").ClearContents
For Each eNPT In ecNPTs
Select Case LCase(eNPT.getAttribute("name"))
Case "reg_source"
Range("A1") = eNPT.Value
Case "lead_context"
Range("A2") = eNPT.Value
Case "subscription_lead_context"
Range("A3") = eNPT.Value
Case "cam_source_code"
Range("A4") = eNPT.Value
Case "offer_code"
Range("A5") = eNPT.Value
End Select
If Application.CountA(Range("A1:A5")) = 5 Then Exit For
Next eNPT
Set ecNPTs = Nothing: Set eNPT = Nothing