【发布时间】:2011-10-06 12:17:37
【问题描述】:
我有一个带有 VBA 宏的 excel 文件,该文件在用户打开工作簿时启动。 其中一位用户在此文件中添加了保护登录密码,现在 Workbook_open() 不再反应。
有什么想法吗?
【问题讨论】:
-
工作簿打开事件的代码是什么?
标签: excel excel-2003 excel vba
我有一个带有 VBA 宏的 excel 文件,该文件在用户打开工作簿时启动。 其中一位用户在此文件中添加了保护登录密码,现在 Workbook_open() 不再反应。
有什么想法吗?
【问题讨论】:
标签: excel excel-2003 excel vba
根据 Reafidy 的评论查看完整代码会有所帮助
如果用户希望对其进行修改,听起来用户仍在运行代码。但是这个用户(或未来的其他用户)可能会选择禁用宏,或者公司政策可能会自动禁用宏
如果是用户选择,那么标准技术是隐藏所有工作表,但启动屏幕除外,通知用户他们需要启用宏。如果他们启用了宏,则所有VeryHidden 工作表(标准菜单无法显示)都可见,并且在工作簿打开时启动屏幕会隐藏
你可以结合
Brad's splash screen code 与您现有的 Open 代码
【讨论】:
this website 列出了几个选项
尝试像这样使用额外的密码参数:
Sub OpenBookTest()
Dim myFile As String
Dim myPath As String
myPath = "C:\My Documents"
myFile = "My Workbook.xls"
Workbooks.Open myPath & "\" & myFile, password:="password"
End Sub
或者换一种写法:
Workbooks.Open "Full Path Name", Password: ="XYZ"
查看 MSDN 后,我猜您的 Workbook_Open 是您编写(或从网上某处复制)的自定义子例程。如果是这种情况,那么您将需要对其进行编辑以允许附加密码参数。您应该编辑您的问题并发布您的 Workbook_Open 例程。这样我们就会知道如何为您提供帮助。
【讨论】: