Prezados colegas!
Tenho uma pasta onde salvo arquivos xml. Meu objetivo é criar um formulario que liste o nome desses arquivos e extraia algumas informações também. Cheguei perto do que pretendo, porém usando um único arquivo e exibindo os valores através de msgbox.
O código que estou utilizando obtive através dos posts dos amigos Avelino Sampaio e anteixeira
Gostaria de exibir os dados dessa forma:
Desde já, agradeço a ajuda dos colegas!!
Tenho uma pasta onde salvo arquivos xml. Meu objetivo é criar um formulario que liste o nome desses arquivos e extraia algumas informações também. Cheguei perto do que pretendo, porém usando um único arquivo e exibindo os valores através de msgbox.
O código que estou utilizando obtive através dos posts dos amigos Avelino Sampaio e anteixeira
- Código:
Option Compare Database
Dim meuFicheiro As String, textoXml As String, textoLinha As String
Private Sub Form_Load()
Dim strArquivo As String
Dim strCaminho As String
CurrentDb.Execute "DELETE FROM XML;"
strCaminho = "C:\BRADESCO\"
strArquivo = Dir$(strCaminho & "*.xml")
Do While Len(strArquivo) > 0
CurrentDb.Execute "INSERT INTO XML (XML) VALUES('" & strArquivo & "');"
strArquivo = Dir$()
Form.SUBXML.Requery
Loop
meuFicheiro = Application.CurrentProject.Path & "\ALPINA-15797.xml"
Open meuFicheiro For Input As #1
Do Until EOF(1)
Line Input #1, textoLinha
textoXml = textoXml & textoLinha
Loop
Close #1
'MsgBox textoXml, vbInformation, "Conteodo do Xml"
MsgBox "Campo nNF: " & separaEntreDuasStringsXML(textoXml, "<nNF>", "</nNF>") 'exibir em coluna
MsgBox "Campo xNome: " & separaEntreDuasStringsXML(textoXml, "<xNome>", "</xNome>") 'exibir em coluna
MsgBox "Campo data: " & separaEntreDuasStringsXML(textoXml, "<dhEmi>", "</dhEmi>") 'exibir em coluna
End Sub
'2014 Alvaro Teixeira
Function separaEntreDuasStringsXML(strTotal As String, strInicio As String, strFim As String)
Dim i As Long, j As Long
i = InStr(strTotal, strInicio)
j = InStr(strTotal, strFim)
separaEntreDuasStringsXML = Mid(strTotal, i + Len(strInicio), j - i - Len(strInicio))
End Function
Gostaria de exibir os dados dessa forma:
Desde já, agradeço a ajuda dos colegas!!