Como posso melhorar a velocidade da análise de XML no VBA
Tenho um arquivo XML grande que precisa ser analisado no VBA (excel 2003 e 2007). Pode haver mais de 11.000 'linhas' de dados no arquivo xml, com cada 'linha' tendo entre 10 e 20 'colunas'. Isso acaba sendo uma tarefa enorme apenas para analisar e capturar os dados (5 a 7 minutos). Tentei ler o xml e colocar cada 'linha' em um dicionário (chave = número da linha, valor = atributos da linha), mas isso leva o mesmo tempo.
Está demorando uma eternidade para atravessar o DOM. Existe uma maneira mais eficiente?
Dim XMLDict
Sub ParseXML(ByRef RootNode As IXMLDOMNode)
Dim Counter As Long
Dim RowList As IXMLDOMNodeList
Dim ColumnList As IXMLDOMNodeList
Dim RowNode As IXMLDOMNode
Dim ColumnNode As IXMLDOMNode
Counter = 1
Set RowList = RootNode.SelectNodes("Row")
For Each RowNode In RowList
Set ColumnList = RowNode.SelectNodes("Col")
Dim NodeValues As String
For Each ColumnNode In ColumnList
NodeValues = NodeValues & "|" & ColumnNode.Attributes.getNamedItem("id").Text & ":" & ColumnNode.Text
Next ColumnNode
XMLDICT.Add Counter, NodeValues
Counter = Counter + 1
Next RowNode
End Sub