【发布时间】:2019-07-17 17:17:58
【问题描述】:
我的工作簿受密码保护,由用于输入的解锁单元格和用于 PDF 打印的按钮组成。由于工作表的密码保护,PDF 打印按钮不起作用。
我已经尝试过以下较早的问题和答案。然而它说我输入的密码是错误的(!)
Macros don't work when sheet is protected. Running macro returns run-time error 1004
Sub ButtonClick()
UnprotectAll
'Some stuff here
ProtectAll
End Sub
Private Const yourPassword As String = "ThePassWord"
Sub UnprotectAll()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
sh.Unprotect Password:=yourPassword
Next sh
End Sub
Sub ProtectAll()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
sh.Protect Password:=yourPassword
Next sh
End Sub
我明白了
错误“1004”。
您提供的密码不正确。
【问题讨论】:
-
您是否尝试过提供正确的密码?
-
@TimStack 是的,我相信我有。但是什么是“正确的密码”?几个用户应该能够使用此工作簿和按钮。
-
AFAIK 你是锁wb的人,所以你应该知道密码。用户不需要知道密码,只要你的密码用正确的密码解锁了wb
-
@TimStack 太棒了!这是同一个密码。我已经重新定位了密码字符串,它解决了错误 1004。但运行脚本后所有工作表都不受保护。
-
这正是您编写的代码。您希望 VBA 不执行您编写的操作吗?