0
respostas

Como remover espaço em branco do TXT gerado pelo VBA

Boa tarde, estou com uma demanda no meu trabalho onde preciso ajustar um Macro que transforma dados de uma Planilha Excel em TXT para importação em outro programa, porem toda vez que o arquivo é gerado, o TXT sai com uma linha vazia a mais e impossibilita a importação, alguem poderia me auxiliar com esse código?

Segue abaixo o código:

Sub Exporta_Arquivo_TXT()
'
' Exporta_Arquivo_TXT Macro
' Macro gravada em 13/01/03 por Fábio Rafael Canepele Ullmann
'

'
    Application.DisplayAlerts = False
    Sheets("Pré-Arquivo").Select
    Range("A1:H2").Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    Range("B3").Select
    Columns("A:A").ColumnWidth = 12.57
    Columns("B:B").ColumnWidth = 14.57
    Columns("C:C").ColumnWidth = 16.57
    Columns("E:E").ColumnWidth = 15.14
    Columns("F:F").ColumnWidth = 20.29
    ActiveWindow.SmallScroll ToRight:=2
    Columns("G:G").ColumnWidth = 30
    Columns("H:H").ColumnWidth = 13.57
    Range("A3").Select
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs FileName:="C:\TEMP\cota.prn", FileFormat:= _
        xlTextPrinter, CreateBackup:=False
    ActiveWindow.Close
    Range("C2").Select
    Workbooks.OpenText FileName:="C:\TEMP\cota.prn", Origin:=xlWindows, _
        StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(16 _
        , 1), Array(26, 1), Array(42, 1), Array(54, 1), Array(65, 1), Array(86, 1), Array(117, 1))
    Columns("A:A").ColumnWidth = 10.14
    Columns("B:B").ColumnWidth = 9.14
    Columns("C:C").ColumnWidth = 9.43
    Sheets("cota").Select
    Sheets.Add
    ActiveCell.FormulaR1C1 = _
        "=cota!RC&cota!RC[1]&""         ""&cota!RC[2]&""      """
    Range("A2").Select
    ActiveCell.FormulaR1C1 = _
        "=cota!R[-1]C[3]&cota!R[-1]C[4]&cota!R[-1]C[5]&cota!R[-1]C[6]&cota!R[-1]C[7]"

    Range("A3").Select
    ActiveCell.FormulaR1C1 = _
        "=cota!R[-1]C[3]&cota!R[-1]C[4]&cota!R[-1]C[5]&cota!R[-1]C[6]&cota!R[-1]C[7]"


    Range("A2:A3").Select
    Selection.Copy
    Range("A2:A3").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A1:A3").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode = False
    Selection.Replace What:=".", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False

  ' Stop
    Range("A1:A3").Select
    salvar = "cota" & Format(Now(), "mmddhhmm")
    ActiveWorkbook.SaveAs FileName:="C:\TEMP\" & salvar & ".txt", FileFormat:=xlText, _
        CreateBackup:=False
    ActiveWindow.Close
    ActiveSheet.Previous.Select
    ActiveSheet.Previous.Select
    ActiveSheet.Next.Select
    ActiveSheet.Next.Select
    Sheets("Informações para débito").Select
    Range("B2").Select
    Sheets("Dados do Arquivo").Select
    Application.DisplayAlerts = True
End Sub