Ir ao conteúdo
  • Cadastre-se

Excel como salvar um arquivo criado em xls para txt sem que apareça aspas em vba


Posts recomendados

prezados, tenho arquivo que é criado a partir de uma planilha de excel e quando salvo tem quer ser transferido para txt por meio de macros. Até aí tudo bem. O problema é que quando vou abrir o arquivo em txt ele aparece entre aspas, inutilizando todo projeto ja que tenho q entrar em cada arquivo para tirar as aspas...Alguem pode me ajudar? Minha promoção depende disso...

Macro1 Macro

' Sheets("site").Select

Range("U65").Select

Selection.Copy

Workbooks.Add

Range("a1").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

ActiveWorkbook.SaveAs Filename:= _

"C:\Users\luiz\Desktop\bra.txt", _

FileFormat:=xlUnicodeText, CreateBackup:=False

ActiveWorkbook.Close SaveChanges:=True

end sub

segue o texto q fica na celula U65:

<Placemark><name>DFSOB070 / ACADEMIA_PF</name><description>5xODU 1xHUB800(1xGEth) 2xPI</description><LookAt><longitude>-10,0</longitude><latitude>-60,0</latitude><range>345.4327619138957</range><tilt>0</tilt><heading>-1.403271936359021e-014</heading></LookAt><styleUrl>#khStyle654</styleUrl><Style><IconStyle><Icon><href>http://maps.google.com/mapfiles/kml/paddle/grn-blank.png</href></Icon><scale>0.9</scale></IconStyle><LabelStyle><scale>0.5</scale></LabelStyle></Style><Point><coordinates>-25-12,0,0</coordinates></Point></Placemark>

Link para o comentário
Compartilhar em outros sites

  • 4 anos depois...

Mano, se sua promoção não rolou ainda, talvez isso ajude 6 anos depois. Hahaha...

Modifique o formato do arquivo que esta salvando.

 

FileFormat:=xlUnicodeText, CreateBackup:=False

ActiveWorkbook.Close SaveChanges:=True

 

 

 fileSaveName, FileFormat:=xlTextPrinter, _
 CreateBackup:=False

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • 1 ano depois...
  • mês depois...
  • 3 anos depois...

Apesar do tempo, segue solução simples, atenção: a guia que deseja gerar o TXT precisa estar com o nome Extract, se entende o mínimo de VBA altere o nome código abaixo para o nome de sua guia, não me perguntem como funciona o código pois não sei, estou estudado ainda, peguei a solução de outro site em Inglês e adaptei para o que preciso, depois reduzi e fiz esta resumida abaixo que deve resolver para maioria das pessoas...

Códig VBA com a solução:

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





********************************************



Algumas pessoas sugerem a solução abaixo onde se coloca o xlTextPrinter, porém aqui para mim não resolveu nada, o melhor usado neste exemplo foi o xlTextWindows porém em algumas planilhas ele continuava trazendo aspas em algumas linhas, quando eu terminar meus estudos provavelmente vou entender por que disso......

Código VBA ruim mas que funcionou em 90% dos meus casos:







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 comando "salvar como"

    Dim lWorkBook As Workbook
    Dim lPlan     As Worksheet
    
    Set lWorkBook = Workbooks.Add
    
    Extract.Copy Before:=lWorkBook.Sheets(1)
    
    lWorkBook.SaveAs FileName:= _
        ThisWorkbook.Path & "\Extract " & Format(Now(), "ddmmyyyy-hhmmss") & ".txt", _
        FileFormat:=xlTextPrinter, CreateBackup:=False
        
    lWorkBook.Close SaveChanges:=False
       
    MsgBox "Extract*.txt salvo na pasta onde abriu este Excel!"
    
Sair:
    Set lWorkBook = Nothing



End Sub

 

Fonte do meu código VBA:

https://www.wallstreetmojo.com/vba-write-text-file/

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...