我想将一些数据写入csv文件。我正在使用此代码:
Dim Filename As String, line As String
Dim A As Integer
Filename = "D:" & "\testfile.csv"
Open Filename For Output As #1
For A = 1 To 100
Print #1, "test, test, test"
Next A
Close #1
但问题是,这段代码从一开始就重写了这个cvs文件。但我想在csv文件的末尾添加数据(例如,如果我运行此代码三次,我希望在此csv文件中有300行)
我该怎么办?
答案 0 :(得分:2)
在这种情况下,您需要Open Filename For Append As #1
。
如果您的行包含引号字符,您可能还会发现Write #1,
的行为优于Print #1,
。
最后一点,不要硬编码#1
,因为其他人可能正在使用该句柄。相反,使用
Dim n as Integer
n = Freefile 'Let VBA find a free file handle
'use #n rather than #1 from here.
答案 1 :(得分:1)
这是你的错误:
Open Filename For Output As #1
应该是:
Open Filename For Append As #1
这会将您的新文本追加到流的末尾。