我有一个主工作簿,它连接到多个团队工作簿,将大量数据链接在一起。本质上,我使用一个数据库样式的仪表板列表及其关键字(是负责仪表板的雇员)、仪表板短名、仪表板完整路径和仪表板密码。
我希望员工能够手动更改他们的密码,然后通过主工作簿上的快速宏更新密码。
所有这些操作都很合理,但是如果试图运行代码时提供的密码不正确,则打开工作簿的输入密码提示就会出现。如果你点击cancel,它就会以它应有的方式运行,但是它不方便,也有点混乱。我有办法阻止那个提示的出现吗?它出现在set wbDash = workbooks.open..。行:
'Make sure password is correct
If PWChange = True Then 'PWChange:=Boolean
On Error Resume Next
Application.DisplayAlerts = False
Set wbDash = Workbooks.Open(FileName:=(DashLocBox.Value + DashNameBox.Value + ".xlsm"), password:=PW1Box.Value)
Application.DisplayAlerts = True
If Err.Number = 1004 Then
MsgBox "You have supplied an incorrect password. You cannot update the workbook with an incorrect password."
Exit Sub
ElseIf Err.Number <> 0 Then
MsgBox "An unexpected error has occurred. Aborting..." & vbCrLf & vbCrLf _
& "Err " & Err.Number & ";" & Err.Description
Exit Sub
End If
wbDash.Close
Err.Clear
On Error GoTo 0
End If发布于 2016-01-07 06:47:04
林嘉在上面的评论中回答了这个问题。只要把它打开就行了。FML..。
set wbDash = workbooks.open(FileName:=(DashLocBox.Value + DashNameBox.Value + ".xlsm"), password:=PW1Box.Value, readonly:=True)
https://stackoverflow.com/questions/34647654
复制相似问题