excel - VBA Excel,当我从文本文件读取到(字符串)变量时,为什么它不读取回车和换行符(0d 0a)
问题描述
我正在研究一个从文本框中获取数据并将其写入文件的宏。数据包括回车/换行字符。在稍后阶段,我需要从文件中读取数据并将其以完全相同的形式放回文本框中。当我这样做时,缺少 Cr/Lf 字符 (0d 0a)。我已经确定它们被写入文件但没有读回。我正在使用以下代码段来编写文件:
Print #1, Temstg
Close #1
并使用以下代码段阅读它:
Do Until EOF(1)
Line Input #1, T
Temstg = Temstg & T
Loop
Close #1
我哪里错了
抢
解决方案
如评论中所述,将Line Input
换行符视为新行的分隔符。这是文档。
以下代码一次性读取完整的文本文件,包括换行符。
Sub ReadFIle()
Dim fileName As String: fileName = "C:\temp\yourfile.txt"
Dim fileContent As String
Dim File As Integer: File = FreeFile
Open fileName For Input As #File
fileContent = Input(LOF(File), File)
Close #File
' example how to split the file in lines then
Dim vDat As Variant
vDat = Split(fileContent, vbNewLine)
End Sub
读取输入功能
推荐阅读
- regex - `\f` 的正则表达式
- nuget - 从 nuspec 迁移到 msbuild 以进行 nuget 打包
- node.js - 使用条件表达式“attribute_not_exists(PK)”总是解析为真
- c# - 将字节数组写入地址
- compression - IPv6 地址压缩
- react-bootstrap - How to automatically put cursor in newest row react-bootstrap-table-next
- python - Multiple version of python but only one works
- mysql - MySQL使用一个查询从至少一个表中删除行
- c - Linux recvmsg()没有从套接字获取软件时间戳
- python-venv - Apache Superset 在我的浏览器中不可用