【发布时间】:2015-11-22 11:24:13
【问题描述】:
我的宏有问题,尝试 UnfreezePanes 失败。文档有结构保护:查看 > 保护工作簿 > 结构和窗口保护(适用于 2013 版)
在 2013 年之前的 excel 版本中,宏没有问题:
Sub Unfreeze()
ActiveWorkbook.Unprotect
ActiveWindow.FreezePanes = False
End Sub
但是在 2013 版本中,当“ActiveWorkbook.Unprotect”执行没有错误但没有取消文档中的结构更改限制时,我遇到了一个问题,因为 newt 行 ActiveWindow.FreezePanes = False 抛出:
错误 1004 '应用程序定义的或对象定义的错误'。
此外,即使在按下每次打开文档时都会弹出的“启用编辑”按钮后,功能区上的 FreezePanes 按钮也会被锁定。
按下“启用编辑”按钮后,我转到 VBE 并执行“ActiveWorkbook.Unprotect”,然后我仍然看到文档受到保护:查看 > 保护工作簿 > 结构被选中。因此,我尝试不直接从此窗口中删除保护的尝试失败了。但!即使从这个窗口我也无法删除保护!当我取消选中“结构”复选框时,按钮 [确定] 变得不可用!保护没有密码,因为即使我在密码字段中键入一些符号,在未选中“结构”复选框的情况下仍然无法按 [确定] 按钮。
请注意,该问题在 excel 2013 中可重现,如果您建议如何使用 vba 代码解锁文档,那就太好了。
【问题讨论】:
-
fwiw,我在新的 Excel 2013 工作簿上没有遇到这种行为,但在你的工作簿上却有这种行为(即使在使用资源管理器、右键单击、属性解除阻止后)。我可以访问冻结/解冻命令的唯一方法是将工作表复制到新工作簿。