2017-05-03 56 views
1

我試圖以固定的時間間隔儘可能乾淨地獲取固定範圍的單元格(不斷變化)到文本文件中的值。使用FreeFile快速導出一個固定的範圍

我得儘可能把一個單元格的值到TXT的文件名:

 FF = FreeFile() 
     Open ThisWorkbook.Path & "\" & Range("A" & cell.Row).Value & ".txt" For Output As #FF 
     Print #FF, cell.Text 
     Close #FF 

但我想將數據放入該文件,獨自離開了名。

任何幫助表示讚賞!

+0

你想保留文件的名稱,只是添加到文件? – GibralterTop

+0

是 - 文件將被新數據覆蓋。也許我應該忽略Freefile並使用.CSV導出?但我覺得它非常緩慢。 –

+0

「不斷變化」是什麼意思?你是否需要每秒重寫幾次或每月重寫幾次? – YowE3K

回答

1

添加引用您的VBA代碼:

工具>參考> Microsoft腳本運行時

刪除文件,並寫入新的一個。這會每次給它一個相同的名字,將會是yourFile.txt。您的目錄將有yourFile.xlsxyourFile.txt

Dim fso As New Scripting.FileSystemObject 

If fso.FileExists(Replace(Replace(ThisWorkbook.FullName, ".xlsx", ".txt"), ".xls", ".txt")) Then 
    fso.DeleteFile (Replace(Replace(ThisWorkbook.FullName, ".xlsx", ".txt"), ".xls", ".txt")) 
End If 

FF = FreeFile() 
Open Replace(Replace(ThisWorkbook.FullName, ".xlsx", ".txt"), ".xls", ".txt") For Output As #FF 
Print #FF, cell.Text 
Close #FF 
+0

謝謝明天再試! –

+0

如果文件不存在時嘗試讀取文件,那麼您可能需要添加某種'while(!File.Exists(yourFile.txt)){}'給任何讀取該文件的程序。 – GibralterTop