Как записать текстовый файл без [0D 0A(VBCRLF)] в конце с помощью VBA

Как записать текстовый файл без [0D 0A(VBCRLF)] в конце с помощью VBA

Я разрабатываю процесс, который

копировать текстовый файл и редактировать содержимое текстового файла в соответствии с данными Excel с помощью FileSystemObject.

Хотя код разрыва строки исходного текстового файла — [0A(VBLF)],

после редактирования код переноса строки обновленного текстового файла становится [0D 0A(VBCRLF)].

Я хотел бы записать код разрыва строки как исходный текстовый файл.

Как лучше всего это сделать? Спасибо заранее.

решение1

Если вы пишете текстовый файл построчно, вы можете выбрать перенос строки

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    

Редактировать:Вы должны использовать, .writeпотому что .WriteLineвсегда будет добавляться дополнительный перенос строки CRLF. Но у вас уже есть перенос строки LF

Связанный контент