Notifications
Clear all

Exportar para TXT sem Delimitador

3 Posts
2 Usuários
0 Reactions
2,090 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia senhores,

Montei uma Macro com a ajuda desse código que encontrei na net para exportar para TXT.

Sub Exportar()
    Application.DisplayAlerts = False
     
    template_file = ActiveWorkbook.FullName
 
    fileSaveName = Application.GetSaveAsFilename( _
                   InitialFileName:="C:Base_Robô_Devolução_" + _
                                    VBA.Strings.Format(Now, "ddmmyy_hh.mm") + ".txt", _
                   fileFilter:="Text Files (*.txt), *.txt")
 
    If fileSaveName = False Then
        Sheets("Plan1").Visible = False
        Exit Sub
    End If
 
    'cria uma cópia da pasta de trabalho atual da planilha atual
    Dim newBook As Workbook
    Dim plan As Worksheet
    Set newBook = Workbooks.Add
 
    ThisWorkbook.ActiveSheet.Copy Before:=newBook.Sheets(1)
 
    'exclui as demais planilhas
    For Each plan In newBook.Sheets
        If plan.Name <> ActiveSheet.Name Then
            newBook.Worksheets(plan.Index).Delete
        End If
    Next
 
    
    newBook.SaveAs Filename:= _
                          fileSaveName, FileFormat:=xlTextWindows, CreateBackup:=False, textvisuallayout:=xlNone
                                                    
    'fecha a pasta de trabalho gerada
    newBook.Close SaveChanges:=True
    Set newBook = Nothing
 
    MsgBox "O arquivo foi exportado com sucesso! ", vbInformation, "Exportar arquivos"
 
    Sheets("Plan1").Visible = False
    Sheets("Devolução Robô").Range("A1").Select
    
End Sub

O resultado que espero na saída do TXT é a seguinte: (o texto é concatenado)
RD172060657"DR -AG 3968-JPB-Pessoa Jurídica-Falta(m) Documento(s)-Comprovar os poderes via FEP enviar CONTRATO SOCIAL

porém o resultado que sai é
"RD172060657""DR -AG 3968-JPB-Pessoa Jurídica-Falta(m) Documento(s)-Comprovar os poderes via FEP enviar CONTRATO SOCIAL"

Acredito que as aspas seja um padrão de delimitador na hora de salvar em TXT, porém pra o que preciso só posso ter uma aspas entre esse pedaço RD172060657"DR

existe alguma maneira de exportar sem nenhum delimitador?

grato desde já

 
Postado : 25/06/2012 6:32 am
(@benzadeus)
Posts: 78
Trusted Member
 

Já que o texto é concatenado, significa que você quer exportar as células de apenas uma coluna, certo?
Considere que essa coluna seja a A:

Sub Exemplo()
    Dim iFF As Integer
    Dim lRow As Long
    
    iFF = FreeFile
    
    Open "c:tempexemplo.txt" For Output As iFF
    
    'Considerando uma linha de cabeçalho:
    For lRow = 2 To RowLast(Columns("A"))
        Print #iFF, CStr(Cells(lRow, "A"))
    Next lRow
    
    Close iFF

End Sub

Private Function RowLast(rng As Range) As Long
    'Retorna o valor da última linha povoada do intervalo rng
    With rng
        On Error Resume Next
        RowLast = .Find(What:="*" _
          , After:=.Cells(1) _
          , SearchDirection:=xlPrevious _
          , SearchOrder:=xlByColumns _
          , LookIn:=xlFormulas).Row
        If RowLast = 0 Then RowLast = rng.Cells(1).Row
    End With
End Function
 
Postado : 27/06/2012 6:37 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Tu salvou minha vida cara!

Ta, não é pra tanto, mas me ajudou muito mesmo.
era isso mesmo que eu precisava!

valeu

 
Postado : 27/06/2012 6:53 pm