EXCEL: EXPORTAR E SALVAR SEM ASPAS EM .TXT
Amigos do VBMania,
Estou com dificuldade em exportar e salvar uma planilha em txt devido a caracteres especiais.
Existem algumas linhas, conforme abaixo que existem caracteres especiais: Nesse caso já são aspas.
<?xml version=[Ô]1.0[Ô] encoding=[Ô]UTF-8[Ô] ?>
<IncluirRAS xmlns:xsi=[Ô]http://www.w3.org/2001/XMLSchema-instance[Ô] xsi:noNamespaceSchemaLocation=[Ô]incluir_RAS.xsd[Ô]>
Depois de salvo em txt fica nesse formato:
[Ô]<?xml version=[Ô][Ô]1.0[Ô][Ô] encoding=[Ô][Ô]UTF-8[Ô][Ô] ?>[Ô]
[Ô]<IncluirRAS xmlns:xsi=[Ô][Ô]http://www.w3.org/2001/XMLSchema-instance[Ô][Ô] xsi:noNamespaceSchemaLocation=[Ô][Ô]incluir_RAS.xsd[Ô][Ô]>[Ô]
Se observarem, a onde existe caracter especial, nesse caso [Ô]Aspas[Ô], ele acrescentou mais aspas devido a esse caracter especial.
Veja outro exemplo abaixo:
Quando salvo um arquivo em .TXT pelo VBA (ActiveWorkbook.SaveAs [Ô]c:\TesteXML.txt[Ô], FileFormat:=xlTextWindows, Local:=True) e neste arquivo contem aspas ele coloca aspas no inicio e no final da linha e duplica as aspas existentes. Isso ocorre com outros caracteres também, exemplo, ponto e virgula( ; ).
Gostaria de salvar sem aspas e manter os caracteres especiais sem alteração.
Me indicaram Replace(String, Chr(34), [Ô][Ô]), mas, o problema que ele remove até os dados originais do arquivo, os caracteres especiais e não somente o que gera automatico.
Como salvar aquivo contendo caracteres especiais sem aspsas?
Estou com dificuldade em exportar e salvar uma planilha em txt devido a caracteres especiais.
Existem algumas linhas, conforme abaixo que existem caracteres especiais: Nesse caso já são aspas.
<?xml version=[Ô]1.0[Ô] encoding=[Ô]UTF-8[Ô] ?>
<IncluirRAS xmlns:xsi=[Ô]http://www.w3.org/2001/XMLSchema-instance[Ô] xsi:noNamespaceSchemaLocation=[Ô]incluir_RAS.xsd[Ô]>
Depois de salvo em txt fica nesse formato:
[Ô]<?xml version=[Ô][Ô]1.0[Ô][Ô] encoding=[Ô][Ô]UTF-8[Ô][Ô] ?>[Ô]
[Ô]<IncluirRAS xmlns:xsi=[Ô][Ô]http://www.w3.org/2001/XMLSchema-instance[Ô][Ô] xsi:noNamespaceSchemaLocation=[Ô][Ô]incluir_RAS.xsd[Ô][Ô]>[Ô]
Se observarem, a onde existe caracter especial, nesse caso [Ô]Aspas[Ô], ele acrescentou mais aspas devido a esse caracter especial.
Veja outro exemplo abaixo:
Quando salvo um arquivo em .TXT pelo VBA (ActiveWorkbook.SaveAs [Ô]c:\TesteXML.txt[Ô], FileFormat:=xlTextWindows, Local:=True) e neste arquivo contem aspas ele coloca aspas no inicio e no final da linha e duplica as aspas existentes. Isso ocorre com outros caracteres também, exemplo, ponto e virgula( ; ).
Gostaria de salvar sem aspas e manter os caracteres especiais sem alteração.
Me indicaram Replace(String, Chr(34), [Ô][Ô]), mas, o problema que ele remove até os dados originais do arquivo, os caracteres especiais e não somente o que gera automatico.
Como salvar aquivo contendo caracteres especiais sem aspsas?
Sub Exportar_TXT()
Application.ScreenUpdating = False
"Seleciona a guia Extract do Excel depois a célula A1
Sheets("Extract").Select
Range("A1").Select
"Iniciar exportação txt via Print com texto exato mostrado em tela sem erro das aspas
Dim Path As String
Dim FileNumber As Integer
Dim LR As Integer
Dim LC As Integer
Dim k As Integer
Dim i As Integer
LR = Worksheets("Extract").Cells(Rows.Count, 1).End(xlUp).Row
LC = Worksheets("Extract").Cells(1, Columns.Count).End(xlToLeft).Column
Path = ThisWorkbook.Path & "\Extract " & Format(Now(), "ddmmyyyy-hhmmss") & ".txt"
FileNumber = FreeFile
Open Path For Output As FileNumber
For k = 1 To LR
For i = 1 To LC
If i <> LC Then
Print #FileNumber, Cells(k, i),
Else
Print #FileNumber, Cells(k, i)
End If
Next i
Next k
Close FileNumber
" Caso deseja abrir o notepad imediatamente para conferir o txt gerado só retirar a linha comentada abaixo:
"Shell "notepad.exe " & Path, vbNormalFocus
Application.ScreenUpdating = True
MsgBox "Extract*.txt salvo na pasta onde abriu este Excel!"
End Sub
Faça seu login para responder