如何使用vba检查excel文件的取消保护密码是否正确?
我正在尝试用VBA锁定excel文件。我用默认密码将文件锁定在代码中,并将此密码提供给其他文件中的用户。始终是相同的密码,因此用户无需输入密码,我在开始时将文件锁定给他 我的问题是,我希望用户在表单中输入密码以解锁文件,我不知道如何在调用函数Unprotect之前检查用户输入的密码是否正确 我有一个这样的潜艇:如何使用vba检查excel文件的取消保护密码是否正确?,excel,vba,passwords,unlock,Excel,Vba,Passwords,Unlock,我正在尝试用VBA锁定excel文件。我用默认密码将文件锁定在代码中,并将此密码提供给其他文件中的用户。始终是相同的密码,因此用户无需输入密码,我在开始时将文件锁定给他 我的问题是,我希望用户在表单中输入密码以解锁文件,我不知道如何在调用函数Unprotect之前检查用户输入的密码是否正确 我有一个这样的潜艇: Sub Unlock (Pass as String) for i=1 to Sheets.Count Sheets(i).Unprotect Password
Sub Unlock (Pass as String)
for i=1 to Sheets.Count
Sheets(i).Unprotect Password:=Pass
next i
end Sub
Sub Unlock (Pass as String)
'if password is good
for i=1 to Sheets.Count
Sheets(i).Unprotect Password:=Pass
next i
'else
msgbox "Try again!"
'end if
end Sub
如果我对其进行编码,并且密码正确,则一切正常,但如果用户出错,VBA会在用户无法控制的情况下发出错误消息。我想在调用unprotect之前检查密码,如果密码错误,则显示msgbox并让用户再次输入新密码,但我不知道是否存在任何检查密码是否正确的功能
我认为在这样的函数中:
Sub Unlock (Pass as String)
for i=1 to Sheets.Count
Sheets(i).Unprotect Password:=Pass
next i
end Sub
Sub Unlock (Pass as String)
'if password is good
for i=1 to Sheets.Count
Sheets(i).Unprotect Password:=Pass
next i
'else
msgbox "Try again!"
'end if
end Sub
但我没有办法知道密码是否正确
谢谢你的帮助,对不起我的英语 一种方法是输入您所获得的任何密码,并根据您的需要适当处理异常。这里有一个不错的链接:
一种方法是,不管你得到什么密码,都输入,并根据需要适当处理异常。修复了链接:我正在尝试使用它,但我的Excel VBA无法识别单词Try Catch和Finally作为指令出现在代码中:SVery sorry-我最初向VB添加了一个链接,而不是VBA。我的错-我现在已经更新了。非常感谢!关于错误的说明转到ErrorHandler:现在我有了控制错误的方法。问候语!!很高兴能帮上忙:请你接受我下面的回答,如果你觉得特别亲切,请投赞成票!非常感谢。