我正在尝试构建一个宏来获取工作表中生成的文本。将其保存到文本文件中。运行时,系统会提示用户使用“另存为”对话框将文本保存到文件中。问题是如果用户选择默认我的文档文件夹以外的位置,它实际上不会保存。如果宏再次运行,但在关闭工作簿之前它可以工作。我不得不使用 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
答案 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