Como escrever arquivo de texto sem [0D 0A (VBCRLF)] no final usando vba

0

Estou desenvolvendo um processo que

copie o arquivo de texto e edite o conteúdo do arquivo de texto de acordo com os dados do Excel usando FileSystemObject.

Embora o Código de quebra de linha do arquivo de texto original seja [0A (VBLF)],

após a edição, o código de quebra de linha do arquivo de texto atualizado torna-se [0D 0A (VBCRLF)].

Eu gostaria de escrever o Código de quebra de linha como arquivo de texto original.

Qual é a melhor maneira de fazer isso? Agradecemos antecipadamente.

    
por user275763 05.12.2013 / 03:35

1 resposta

1

Se você escrever seu arquivo de texto linha por linha, poderá escolher sua quebra de linha

Sub sampleWriteVBLF()

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set objFile = fso.CreateTextFile("D:\test.txt", True)

    objFile.Write "Hello" & vbLf
    objFile.Write "World" & vbLf

    objFile.Close

End Sub

            VBA       VBA               HEX     NAME
LF    \n    VbLf      Chr(10)           0x0A    Line Feed
CR    \r    VbCr      Chr(13)           0x0D    Carriage Return
CR+LF \r\n  VbCrLf    Chr(10)&Chr(13)   0x0D0A  Carriage Return Line Feed    

Editar: você deve usar .write porque .WriteLine sempre anexará um quebra de linha CRLF adicional. Mas você já tem uma quebra de linha LF

    
por 05.12.2013 / 07:42