Vba Excel生成的文本文件的另存为框
我正在尝试构建一个宏,它接受工作表中生成的文本并将其保存到文本文件中。运行时,系统会提示用户使用“另存为”对话框将文本保存到文件中。问题是,如果用户选择的位置不是默认的“我的文档”文件夹,它实际上不会保存。如果在关闭工作簿之前再次运行宏,则该宏将正常工作。当用户取消“另存为”框时,我必须使用“错误恢复下一步”来防止出现错误框,但如果我将其注释掉,则尝试保存到非“我的文档”位置时出现的错误为“未找到错误53文件”。有人知道这里发生了什么或者如何修复吗?有关错误的简单说明,请查看下面的“我的代码”:Vba Excel生成的文本文件的另存为框,vba,excel,save-as,Vba,Excel,Save As,我正在尝试构建一个宏,它接受工作表中生成的文本并将其保存到文本文件中。运行时,系统会提示用户使用“另存为”对话框将文本保存到文件中。问题是,如果用户选择的位置不是默认的“我的文档”文件夹,它实际上不会保存。如果在关闭工作簿之前再次运行宏,则该宏将正常工作。当用户取消“另存为”框时,我必须使用“错误恢复下一步”来防止出现错误框,但如果我将其注释掉,则尝试保存到非“我的文档”位置时出现的错误为“未找到错误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
这样做对我来说很有效,没有错误
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
子测试()
Dim TextFile作为字符串,PrintText作为字符串
Dim SaveName作为变量
TextFile=“filename.txt”
PrintText=ActiveSheet.Range(“A1”).值
打开文本文件,输出为#1
打印#1,打印文本
关闭#1
SaveName=Application.GetSaveAsFilename(,filefilter:=“TXT(*.TXT),*.TXT”)
如果SaveName为False,则将TextFile命名为SaveName
端接头
如果您选择桌面或文档作为保存目标,但试图保存到任何其他文件夹,则在“Name TextFile as SaveName”指令中会出现“file not found error”(未找到文件错误),则此操作有效。知道为什么会这样吗?