2015-10-01 28 views
-2

我試圖從保存在我的計算機上的html文件中提取某些信息的問題。我需要VBA代碼
1)打開這個包含HTML TXT,
2)找到包含單詞加熱器上,td標籤後記「強」標籤包含我需要 4短語)複製它和過去進C2VBA,從包含html的txt文檔中提取特定單詞並在excel中列出它們的列表

還有更多的信息,我需要從這個HTML文件,但格式是一樣的有標籤項目,在標籤是我需要的具體信息。

我對編程非常陌生,通常可以在論壇上找到相關內容並將其拼接在一起,但這有點複雜。

回答

0

你要做的是讀取一個文件,然後做模式匹配。 HTML應該可以使用StreamReader打開。我對此並不積極,但值得一試。然後,您只需要將文檔逐個分開,並使用if語句進行模式匹配。

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 
相關問題