0
所以我想在一個工作簿中寫一些代碼,它將使用VBA在某個文件路徑中打開一個文件,找到存在於具有特定行號的行中的數據,然後在給定該行號的情況下覆蓋那些行。我知道「打開文件輸入/輸出/追加」功能,但「輸入」只讀,「輸出」覆蓋我的文件中的所有數據,「追加」只添加數據到文件的末尾。我一直堅持一段時間,真的可以使用一些幫助。這是我目前的代碼段:如何在VBA的特定行中編輯當前存在的.csv文件?
Open Filepath For Output As #2
ExternalRowCount = 0 ' Row number where I want to start writing data.
ArrayRef = 0 ' Array Index for data
Do Until EOF(1)
ExternalRowCount = ExternalRowCount + 1
If ExternalRowCount >= Found And ExternalRowCount < (Found + 100) Then ' looping through rows to get to my desired location ("Found" is my desired row number)
CellData = arr1(ArrayRef)
CellDataTwo = arr2(ArrayRef)
Write #2, CellData, CellDataTwo
ArrayRef = ArrayRef + 1
End If
Loop
Close #2
任何幫助將不勝感激!謝謝
在'EOF引用的文件是什麼(1)'?你從哪裏讀取文件中的數據? –
通常不能更新文本文件,因爲新記錄的長度與舊記錄的長度不同。通常的做法是從文件A循環讀取記錄並將更改的記錄寫入文件B.文件B可以具有新的版本號或文件A可以用後綴「Old」重命名,而文件B重命名爲文件A的原始名稱。 –