【问题标题】:How to unprotect xlsx document structure in excel 2013如何在 excel 2013 中取消保护 xlsx 文档结构
【发布时间】: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 代码解锁文档,那就太好了。

Example of the document can be found here

【问题讨论】:

  • fwiw,我在新的 Excel 2013 工作簿上没有遇到这种行为,但在你的工作簿上却有这种行为(即使在使用资源管理器、右键单击、属性解除阻止后)。我可以访问冻结/解冻命令的唯一方法是将工作表复制到新工作簿。

标签: vba excel


【解决方案1】:

工作簿可能部分不受保护,但保留了数字签名。

        

单击文件 ► 信息 ► 保护工作簿 ► 添加数字签名以了解详细信息。更改或完全删除它会很快恢复冻结/解冻窗格的功能。

【讨论】:

  • 谢谢吉普德的回答!有没有唯一的方法来处理数字签名?按照您的步骤,我会看到“获取数字 ID”弹出窗口,它会将我重定向到 support.office.com > 查找数字 ID 服务,并且没有像您附加的任何其他窗口。 [1]:i.stack.imgur.com/LGB0n.png
  • 尝试从 VBE 的即时窗口 (Ctrl+G) ActiveWorkbook.Signatures.AddNonVisibleSignature "{00000000-0000-0000-0000-000000000000}" 运行它。
  • 还是一样 - 弹出消息要求我获取数字 ID :(
【解决方案2】:

使用以前版本的 excel 中的 excel 文件,我有 activesheet.unprotect 更改 E2013 中的 activesheet。

如果您尝试使用工作簿名称来限定取消保护的调用,并且与 freezepanes 调用相同?

我没有测试过。

【讨论】:

    猜你喜欢
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    相关资源
    最近更新 更多