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 に答える