另存为Excel生成的文本文件

时间:2017-01-18 20:33:46

标签: excel vba excel-vba save-as

我正在尝试构建一个宏来获取工作表中生成的文本。将其保存到文本文件中。运行时,系统会提示用户使用“另存为”对话框将文本保存到文件中。问题是如果用户选择默认我的文档文件夹以外的位置,它实际上不会保存。如果宏再次运行,但在关闭工作簿之前它可以工作。我不得不使用 On Error Resume Next 来防止用户取消“另存为”框时出现错误框,但如果我在尝试保存在非我的文档位置时将其注释掉,那么< strong>找不到错误53文件。有谁知道这里发生了什么或如何解决这个问题?请查看下面的代码,以便简单说明错误:

Sub saveFileAs()
Dim textFile, printText As String

textFile = "filename.txt"  'won't work without declaring something for textFile

printText = ActiveSheet.Range("A1").Value

Open textFile For Output As #1
    Print #1, printText

Close #1


On Error Resume Next

Name textFile As Application.GetSaveAsFilename(, filefilter:="TXT (*.txt),*.txt")

End Sub

1 个答案:

答案 0 :(得分:0)

这样做对我有用,没有错误。

Sub testing()
Dim TextFile As String, PrintText As String
Dim SaveName As Variant

TextFile = "filename.txt"
PrintText = ActiveSheet.Range("A1").Value

Open TextFile For Output As #1
  Print #1, PrintText

Close #1

SaveName = Application.GetSaveAsFilename(, filefilter:="TXT (*.txt),*.txt")
If SaveName <> False Then Name TextFile As SaveName

End Sub