我在尝试从保存在计算机上的html文件中提取某些信息时出现问题。我需要vba代码来
1)打开包含html的这个txt,
2)找到包含单词heater的“Strong”标签,td标签后面包含我需要的短语
4)将其复制并过去进入C2
我需要从这个html文件中获取更多信息,但格式与标签项相同,标签中是我需要的特定信息。
我是编程的新手,我通常可以在论坛上找到并将它拼凑在一起然而这有点复杂。
答案 0 :(得分:0)
您要查看的是在文件中读取然后进行模式匹配。应该可以使用StreamReader打开HTML。我对此并不积极,但值得一试。然后,您只需要逐字逐句地分离文档,并使用if语句进行模式匹配。
答案 1 :(得分:0)
我会将其解析为xml。在下面有关于文档结构的假设(表元素是强元素之后的兄弟),但这可以让你开始:
' Add reference to Microsoft XML
Sub ExtractFromHtml()
Dim XMLDOC As MSXML2.DOMDocument
Dim strongNodes As IXMLDOMNodeList
Dim strongNode As IXMLDOMNode
Dim nextNode As IXMLDOMNode
Dim strongValue As String
Set XMLDOC = New DOMDocument
XMLDOC.Load ("C:\Where\your\doc\is\test.html")
Set strongNodes = XMLDOC.getElementsByTagName("strong")
For i = 0 To strongNodes.Length - 1
Set strongNode = strongNodes.Item(i)
If InStr(strongNode.XML, "Heater") > 0 Then ' <strong> with "Heater"
Set nextNode = strongNode.NextSibling
While nextNode.nodeName <> "table" ' first table *after* <string>
Set nextNode = nextNode.NextSibling
Wend
Set nextNode = nextNode.FirstChild ' <tr>
Set nextNode = nextNode.FirstChild ' <td> should be the one you want
End If
Next i
Set strongNode = strongNodes.nextNode
End Sub