So schreiben Sie eine Textdatei ohne [0D 0A(VBCRLF)] am Ende mit vba

So schreiben Sie eine Textdatei ohne [0D 0A(VBCRLF)] am Ende mit vba

Ich entwickle Prozesse, die

Kopieren Sie Textdateien und bearbeiten Sie den Inhalt von Textdateien entsprechend den Excel-Daten mithilfe von FileSystemObject.

Obwohl der Zeilenumbruchcode der Originaltextdatei [0A(VBLF)] ist,

Nach der Bearbeitung wird der Zeilenumbruchcode der aktualisierten Textdatei zu [0D 0A(VBCRLF)].

Ich möchte den Zeilenumbruchcode als Originaltextdatei schreiben.

Wie geht das am besten? Vielen Dank im Voraus.

Antwort1

Wenn Sie Ihre Textdatei zeilenweise schreiben, können Sie den Zeilenumbruch selbst wählen.

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

Bildbeschreibung hier eingeben

            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    

Bearbeiten:Sie müssen verwenden .write, weil .WriteLineimmer ein zusätzlicher CRLF-Zeilenumbruch angehängt wird. Aber Sie haben bereits einen LF-Zeilenumbruch

verwandte Informationen