0

我使用循环加载 200 个 xml 文件,它可以工作。当我使用 Debug.Print xmldoc.text 时,它每次使用 xmldoc.text 为每个 xml 文档打印每一行 1 次。这就是我想要的,但我希望它从最后一行开始加载电子表格中的每一行。现在它使用最后一行加载 1 行 200 次。我怎样才能使这项工作。

Sub ReadXMLDoc() 
    Sub LearnAboutNodes() 
        Dim xmldoc As MSXML2.DOMDocument50 
        Dim xmlNode As MSXML2.IXMLDOMNode 
        Dim LastRow as Long
        Set xmldoc = New MSXML2.DOMDocument50 
        xmldoc.async = False 

        xmldoc.Load ("C:\yourFile.xml") 
        If xmldoc.hasChildNodes Then 
            Debug.Print "Number of child Nodes: " & xmldoc.childNodes.length 
            For Each xmlNode In xmldoc.childNodes 
                Debug.Print "Node name:" & xmlNode.nodeName 
                Debug.Print "Type:" & xmlNode.nodeTypeString & "(" & xmlNode.nodeType & ")" 
                Debug.Print "Text: " & xmlNode.Text 
                lastrow = cells(rows.count,1).end(xlup).row 
                Worksheets("Sheet2").Cells(1, lastrow).value = xmldoc.text
            Next xmlNode 
        End If 
        Set xmlDoc = Nothing 
    End Sub 

    End If 
End Sub 
4

1 回答 1

0

尝试类似:

For Each xmlNode In xmldoc.childNodes 
    'Debug.Print "Node name:" & xmlNode.nodeName 
    'Debug.Print "Type:" & xmlNode.nodeTypeString & "(" & xmlNode.nodeType & ")" 
    'Debug.Print "Text: " & xmlNode.Text       
    With Worksheets("Sheet2")
        lastrow = .Cells(.rows.count,1).End(xlup).Offset(1,0).row 
        .Cells(1, lastrow).value = xmlnode.text
    End With
Next
于 2013-10-07T20:28:06.883 回答