如何使用 vba 编写末尾不带 [0D 0A(VBCRLF)] 的文本文件

如何使用 vba 编写末尾不带 [0D 0A(VBCRLF)] 的文本文件

我正在开发一个流程

使用FileSystemObject复制文本文件并根据Excel数据编辑文本文件内容。

虽然原始文本文件的换行符是[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 换行符

相关内容