Notifications
Clear all

Exportando como XML

4 Posts
2 Usuários
0 Reactions
1,121 Visualizações
(@wenpra)
Posts: 76
Estimable Member
Topic starter
 

Etsou com esse código que exporta minha planilha como xml porem não estou conseguindo mudar o nome do arquivo criado ele esta criando com o nome da planilha aberta eu gostaria que o nome do xml seria "BD_3_CLIENTES.XML"

Sub ExportToXml()
Dim linha As Long, coluna As Long, colunas As Long
linha = 2
colunas = ActiveSheet.UsedRange.Columns.Count
Set fs = CreateObject("Scripting.FileSystemObject")

Set a = fs.CreateTextFile(ThisWorkbook.FullName & ".xml", True)
'cria as primeiras linhas
a.WriteLine ("<?xml version=""1.0"" encoding=""UTF-8""?>")
a.WriteLine ("<" & ActiveSheet.Name & "s>")

With ActiveSheet
Do While Not IsEmpty(.Cells(linha, 1))
a.WriteLine (Chr(9) & "<" & ActiveSheet.Name & ">")

For coluna = 1 To colunas Step 1
a.Write (Chr(9) & Chr(9) & _
"<" & .Cells(1, coluna).Value & ">" & _
RTrim(.Cells(linha, coluna).Value) & _
"</" & .Cells(1, coluna).Value & ">" & Chr(13))
Next

a.WriteLine (Chr(9) & "</" & ActiveSheet.Name & ">")
linha = linha + 1
Loop
End With

'finaliza o arquivo
a.WriteLine ("</" & ActiveSheet.Name & "s>")
a.Close

MsgBox "Finito!"
End Sub

 
Postado : 30/06/2014 10:03 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde wenpra,

Altera essa linha disso:
Set a = fs.CreateTextFile(ThisWorkbook.FullName & ".xml", True)
para isso:
Set a = fs.CreateTextFile("BD_3_CLIENTES.XML", True)
Qualquer coisa da o grito.
Abraço

 
Postado : 30/06/2014 10:17 am
(@wenpra)
Posts: 76
Estimable Member
Topic starter
 

Boa tarde wenpra,

Altera essa linha disso:
Set a = fs.CreateTextFile(ThisWorkbook.FullName & ".xml", True)
para isso:
Set a = fs.CreateTextFile("BD_3_CLIENTES.XML", True)
Qualquer coisa da o grito.
Abraço

Então primeiro obrigado pela ajuda mas eu tinha feito isso antes mas quando coloco o nome ele não cria o arquivo. O que será que acontece?

 
Postado : 30/06/2014 10:25 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tenta assim:
Set a = fs.CreateTextFile(ThisWorkbook.Path & "BD_3_CLIENTES.XML", True)
Qualquer coisa da o grito.
Abraço

 
Postado : 30/06/2014 11:57 am