Notifications
Clear all

Importar XML para o Excel

3 Posts
2 Usuários
0 Reactions
1,800 Visualizações
(@paulos)
Posts: 0
New Member
Topic starter
 

Quero importar arquivos XML´s diarios para o Excel, porem nao sei como fazer no VBA uma vez que os arquivos sao diferentes e salvos em pastas diferentes, há alguma forma ?
Fiz uma macro para tentar explicar melhor, minha intenção é gravar uma macro onde na data que eu precisar ele me carregue os arquivos:

Sub Macro1()
'
' Macro1 Macro
'

'
ActiveWorkbook.XmlImport URL:= _
"C:UsersPaulo LeonardoDownloads21-08-2014FD04519722000108_20140818_20140819035650_AQUILA+1+FIM (2).XML" _
, ImportMap:=Nothing, Overwrite:=True, Destination:=Range("$A$1")
Sheets("Plan2").Select
ActiveWorkbook.XmlImport URL:= _
"C:UsersPaulo LeonardoDownloads22-08-2014FD04519722000108_20140818_20140819035650_AQUILA+1+FIM (3).XML" _
, ImportMap:=Nothing, Overwrite:=True, Destination:=Range("$A$1")
End Sub

 
Postado : 24/10/2014 8:13 pm
(@lucianojr)
Posts: 0
New Member
 

Paulo,

A macro abaixo não está completa, mas acho que te ajuda em parte do problema:

Sub Macro1()
'
' Macro1 Macro
Dim LocalDoXml As String 'Define o local do arquivo XML
Dim NomeXml As String 'Define o nome do arquivo XML
Dim Planilha As Worksheet

Set Planilha = ThisWorkbook.Worksheet("Plan2")  'caso nao queria usar a data de hoje e queira definir
                                                'na sua planilha uma celula com a data do arquivo XML
                                                'substitua o hoje() por, por exemplo, Planilha.range("A1")
                                                'para ler a data escrita na celula A1 da planilha Plan2

LocalDoXml = "C:UsersPaulo LeonardoDownloads" & Day(hoje()) & "-" & Month(hoje()) & "-" & Year(hoje()) & ""
NomeXml = "FD04519722000108_20140818_20140819035650_AQUILA+1+FIM (" & NUMEROSEQUENCIAL & ").XML"    'nao entendi direito como funciona
                                                                                                    'o nome do seu arquivo, me parece
                                                                                                    'que ele so muda um numero no final
                                                                                                    'então voce deve subistituir onde está
                                                                                                    'escrito NUMEROSEQUENCIAL por uma logica
                                                                                                    'que defina esse numero
                                                                                                    'Assim a string NomeXML vai assumir o
                                                                                                    'nome correto do arquivo
                                                                                                    
                                                                                                    
'

'
ActiveWorkbook.XmlImport URL:= _
LocalDoXml & NomeXml _
, ImportMap:=Nothing, Overwrite:=True, Destination:=Range("$A$1")
Sheets("Plan2").Select



End Sub
 
Postado : 26/10/2014 7:59 am
(@paulos)
Posts: 0
New Member
Topic starter
 

Luciano, Obrigado ! vou testar essa programação, com certeza me ajudara muito.

 
Postado : 04/11/2014 8:24 pm