2014-06-13 43 views
1

現有的CSV文件,我想將一些數據寫入到CSV文件。我正在使用此代碼:Wrting與訪問VBA

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

在這種情況下,你需要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

這是你的錯誤:

Open Filename For Output As #1 

這應該是:

Open Filename For Append As #1 

這將追加新的文本流的末尾。