繁体   English   中英

使用 VBA 密码保护进行保存时出现错误消息“运行时错误'1004':对象'_Workbook'的方法'SaveAs'失败”

[英]Error Message “Run-time error '1004': Method 'SaveAs' of object'_Workbook' failed” when saving with VBA password protection on

我正在尝试将工作簿中的单个工作表保存为 a.txt 文件-我必须这样做的代码是:

ActiveWorkbook.SaveAs Filename:= _
directory & Application.UserName & "_" & file_name _
, FileFormat:=xlUnicodeText, CreateBackup:=False

(目录和文件名在宏前面定义)

包含此代码的宏受密码保护。 在未输入密码的情况下运行宏时,我收到错误消息“运行时错误'1004':对象'_Workbook'的方法'SaveAs'失败”。 当我打开 Visual Basic 并输入密码时,宏运行良好,没有错误消息。 我可以使用不同的语法来保存 .txt 文件,或者有人知道可能导致此错误的原因吗?

我在 2006 年的另一个网站上找到了一篇旧的帮助帖子,答案为 0:

https://www.excelforum.com/excel-general/567235-error-when-save-as-csv-with-vba-password-protection-on.html

任何帮助/建议将不胜感激!

不确定是否允许回答我自己的问题或者是正确的做法 - 但我设法让宏工作,希望这将在未来对其他人有所帮助:

代替:

ActiveWorkbook.SaveAs Filename:= _ directory & Application.UserName & "_" & file_name _, FileFormat:=xlUnicodeText, CreateBackup:=False

利用:

ThisWorkbook.SaveAs Filename:=direct & file_name, FileFormat:=xlText

不知道为什么这会起作用并且之前的代码不起作用,但即使 vba 受密码保护,它也会保存 a.txt 文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM