使用access vba写入现有的csv文件

时间:2014-06-13 07:09:55

标签: vba csv

我想将一些数据写入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行)

我该怎么办?

2 个答案:

答案 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

这会将您的新文本追加到流的末尾。