2011-11-23 33 views
-1

您好我有这个宏在Excel文件:“另存为”宏在Excel中使用密码保护

ActiveWorkbook.SaveAs filename:="C:\SAP Imports\Sales Orders\" & Range("A1") & ".xlsm", FileFormat:= _ 
     xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ 
     , CreateBackup:=False 

这个宏密码保护。 Whenevr我运行这个我得到“运行时间”的错误,我无法弄清楚我的代码有什么问题。

我应该写密码而不是写“”。请指教。

+0

你的意思是你的密码保护VBA项目? – JimmyPena

+2

你不能解除VBA项目的保护,然后运行它吗?如果宏受密码保护,并且您没有密码,那么您将如何修复它? –

回答

0

如果目录不存在,宏将失败。

在运行宏之前,确保存在“C:\ SAP Imports \ Sales Orders \”。

0

我用相同的东西设置了一个工作簿,当我保护宏并将密码放在显示的行中时,它保存得很好。

然而,当我尝试打开其他工作簿时,导致了第二个问题。然后我得到一个错误,说这个文件的格式不正确。我通过删除".xlsm"并将文件格式更改为fileformat:=52来更改您的行。这最终使它

ActiveWorkbook.SaveAs filename:="C:\SAP Imports\Sales Orders\" & Range("A1"), FileFormat:=52, Password:="password", WriteResPassword:="password", ReadOnlyRecommended:=False, CreateBackup:=False 

当我改变它到这然后工作簿保存就好了。当我打开保存的书时,它提示我输入上面输入的密码。

+0

如果您不想在目标书籍中使用宏,请将格式更改为51,以获得正常的.xlsx工作簿 – Jon

+0

此外,如果它尚未包含在宏的其他部分中,则可以考虑添加Application.DisplayAlerts = False /真正的线路绕过必须处理提示。 – Jon