使用FreeFile快速导出固定范围

时间:2017-05-03 19:26:17

标签: excel vba excel-vba

我正在尝试尽可能干净地定期将固定范围的单元格(不断变化)的值输出到文本文件中。

我已经将一个单元格值放入txt的文件名中了:

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

但我想将数据放入文件中,并保留名称。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

添加对您的VBA代码的引用:

工具>参考文献> Microsoft Scripting Runtime

删除文件并编写新文件。每次都会给它命名为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