Cómo escribir un archivo de texto sin [0D 0A(VBCRLF)] al final usando vba

Cómo escribir un archivo de texto sin [0D 0A(VBCRLF)] al final usando vba

Estoy desarrollando un proceso que

copie el archivo de texto y edite el contenido del archivo de texto de acuerdo con los datos de Excel utilizando FileSystemObject.

Aunque el código de salto de línea del archivo de texto original es [0A(VBLF)],

después de editar, el código de salto de línea del archivo de texto actualizado se convierte en [0D 0A(VBCRLF)].

Me gustaría escribir el código de salto de línea como archivo de texto original.

Cual es la mejor manera de hacer esto? Gracias de antemano.

Respuesta1

Si escribe su archivo de texto línea por línea, puede elegir su salto de línea

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

ingrese la descripción de la imagen aquí

            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:Debe usarlo .writeporque .WriteLinesiempre agregará un salto de línea CRLF adicional. Pero ya tienes un salto de línea LF

información relacionada