我有一个文本文件,在其中必须使用Excel Worsheet中的某些值修改某些行。
我的方式:
我在VBA中打开文本,然后循环每一行。 如果该行符合我的条件,我将其替换并保存到一个新文件中,但是如果我不感兴趣,则只需将该行保存到一个新文件中,而不做任何修改。
问题是,当我保存与我无关的行时,我松开了这些行的格式-这仅在包含至少一个数字的行中发生。
例如:这行
1 2 3
会变成:
1
2
3
这是我循环每一行的方式:
Open Path For Input As #1
Do Until EOF(1)
Input #1, ReadData
If not flag then
File.WriteLine (ReadData)
else
我做错了什么?
附言 在我的程序中重建行不是解决方案,因为行的格式不同。
使用打印而不是写。 还需要加回换行符。
您可能想看看此答案,以获取有关如何在vba中处理文件io的一个很好的示例。
@Tim Williams-问题不是我写入文件的方式,而是我读取文件的方式。 我应该使用Line Input而不是Input。 Anw,10倍给您,我找到了解决方案。
@ ckuhn203我将检查您的链接以获取将来的答案。 10倍
问题是我已使用输入法读取文件。
因此,当我使用Input方法时:"使用Input语句,数据值被读取为变量列表"。 因此,我没有读整行,而只读了第一个数字。
所以我使用了Line Input:在Line Input语句中,所有数据都作为一个字符串读取
这是我找到解决方案的地方L:http://www.myengineeringworld.net/2012/06/excel-vba-read-and-write-text-files.html