【发布时间】:2019-10-01 08:29:44
【问题描述】:
我正在尝试将工作簿中的单个工作表另存为 .txt 文件 - 我必须这样做的代码是:
ActiveWorkbook.SaveAs Filename:= _
directory & Application.UserName & "_" & file_name _
, FileFormat:=xlUnicodeText, CreateBackup:=False
(目录和文件名在宏前面定义)
包含此代码的宏受密码保护。在未输入密码的情况下运行宏时,我收到错误消息“运行时错误'1004':对象'_Workbook'的方法'SaveAs'失败”。当我打开 Visual Basic 并输入密码时,宏运行良好,没有错误消息。我可以使用不同的语法来保存 .txt 文件,或者有谁知道可能导致此错误的原因?
我在另一个网站上找到了 2006 年的旧帮助帖子,答案为 0:
任何帮助/建议将不胜感激!
【问题讨论】:
-
你在文件名中明确定义了文件扩展名吗?
-
我会说这是 Excel 未能及早意识到以纯文本格式保存会丢弃 VBA 项目,所以你没有密码也没关系。
-
@Plutian- 是的,我之前将文件名作为字符串,文件扩展名为“.txt”。
-
@GSerg - 感谢您的快速回复!我没有看到对先前帖子的明确解决方案,也没有解释为什么 vba 项目密码会停止宏保存文件(如果目标目录不存在,那么 vba 项目密码肯定不会有任何影响?)