[英]Excel Run Macro button with password protection
我的工作簿受密码保护,由用于输入的未锁定单元格和用于PDF打印的ane按钮组成。 由于工作表的密码保护,PDF打印按钮不起作用。
我已经尝试了以下早期问题和解答。 但是它说我输入的密码是错误的(!)
当工作表受保护时,宏不起作用。 正在运行的宏返回运行时错误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”。
您提供的密码不正确。
确保在每个模块和工作表代码中将Option Explicit
用作第一行! 这样可以确保您不会遇到未声明的局部范围变量yourPassword
,该变量随后为空。
我建议始终激活Option Explicit
:在VBA编辑器中,转到“ 工具” ›“ 选项” ›“ 需要变量声明” 。
确保使用密码取消(手动)保护所有工作表。
在模块中将所需的新密码定义为常量
Private Const yourPassword As String = "ThePassWord"
使用此常数您.Protect
/ .Unprotect
sh.Protect Password:=yourPassword
然后再次运行您的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.