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

时间:2019-10-01 08:29:44

标签: excel vba

我试图将工作簿中的一张纸保存为.txt文件-我要做的代码是:

assert ms[2] == 1;

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

包含此代码的宏受密码保护。在不输入密码的情况下运行宏时,出现错误消息“运行时错误'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

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

1 个答案:

答案 0 :(得分:0)

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

代替:

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

使用:

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

不知道为什么这行得通,并且前面的代码不行,但是即使vba受密码保护,它也会保存一个.txt文件。