通过VBA打开工作簿时禁用密码提示

我有一个主工作簿,连接到多个团队工作簿以将大量数据链接在一起。 本质上,我使用数据库样式的关键字(作为负责仪表板的员工),仪表板短名称,仪表板完整path和仪表板密码的仪表板列表。

我希望员工能够手动更改密码,然后通过主工作簿上的快速macros更新密码。

这一切都相当正常,但如果提供的密码在尝试运行代码时不正确,则会出现input密码提示以打开工作簿。 如果你点击取消,它就会按照它的方式运行,但是不方便,有点令人困惑。 有没有办法阻止显示的提示? 它出现在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 

Linga在上面的评论中回答了这个问题。 只需要以只读方式打开它。 FML …

set wbDash = workbooks.open(FileName:=(DashLocBox.Value + DashNameBox.Value + ".xlsm"), password:=PW1Box.Value, readonly:=True)