如何取消保护excel 2013中的xlsx文档结构

时间:2015-11-22 11:24:14

标签: excel vba excel-vba

我的宏有问题,尝试使用UnfreezePanes失败了。该文件具有结构保护:查看>保护工作簿>结构和窗户保护(2013版)

在2013年之前的excel版本中,我没有使用宏的问题:

Sub Unfreeze()
    ActiveWorkbook.Unprotect
    ActiveWindow.FreezePanes = False
End Sub

但是在2013年的版本中,我遇到了一个问题,当时ActiveWorkbook.Unprotect'执行没有错误但不取消文档中的结构更改限制,因为newt行ActiveWindow.FreezePanes = False抛出:

  

错误1004'应用程序定义或对象定义的错误'。

此外,即使在按下按钮后,功能区上的FreezePanes按钮也会被锁定'启用编辑'每次打开文档时弹出窗口。

Enable Editing button

按下按钮'启用编辑'我去了VBE并执行了'ActiveWorkbook.Unprotect'然后我仍然看到文档受到保护:查看>保护工作簿>检查结构。因此,我尝试不直接从此窗口中删除保护失败。但!即使从这个窗口我也无法取消保护!当我取消选中复选框'结构'按钮[Ok]变得无法访问!保护没有密码,因为即使我在密码字段中键入一些符号,仍然无法按下[确定]按钮,而结构'复选框未选中。

Unable to unlock

请注意,问题在excel 2013中是可重现的,如果您建议如何使用vba代码解锁文档,这将是很好的。

Example of the document can be found here

2 个答案:

答案 0 :(得分:1)

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

digital_signature

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

答案 1 :(得分:0)

使用以前版本的excel中的excel文件,我已经使用activesheet.unprotect更改了E2013中的活动表。

也许如果您尝试使用工作簿名称验证调用unprotect并使用freezepanes调用进行相同的调用?

我还没有测试过。