说明
最后面“解决问题”部分有直接的步骤,可以直接跳到最后跟着步骤操作
需求
打开这个excel表以后,发现只有3个sheet,需要将隐藏的sheet显示出来。
图1 只有3个sheet的表
问题分析
普通的隐藏可以通过 鼠标右键点击sheet-“取消隐藏” 这个流程来显示隐藏的sheet,但是如图所示,红色方框1内的“取消隐藏”是灰色的,那么有两个可能:
- 没有隐藏的sheet;
- 该sheet是通过深度隐藏,隐藏起来了,这种情况下就表现为“取消隐藏”按钮是灰色的。
为了确定是上述哪种情况,需要进入VBA里面查看:“开发工具”-“Visual Basic”
图2 打开Visual Basic
如图3所示,在“VBAProject”下的“Microsoft Excel 对象”里有8个sheet,说明确实有5个sheet是被隐藏起来的。
图3 VBAProject界面
以sheet3(Lookup)为例,单击选中,可以看到下方属性栏中,“Visible”属性的值是“0-xlSheetHidden”,说明是被隐藏的状态。如图4。
为了进行对比,可以看下sheet1(Introduction)的“Visible”属性值是“-1 – xlSheetVisible”,说明sheet1(Introduction)可以被看到。如图5。
通过以上步骤,我们可以确定虽然“取消隐藏”为灰色,但是确实存在被隐藏的sheet。
图4 sheet3(Lookup) 图5 sheet1(Introduction)
通过观察图1里面红框2,发现新建sheet的加号图标也是灰色的,不能增加新的sheet,说明原始文档被做了修改,不让后面使用的人对excel进行“取消隐藏”、“增加”等操作。通过上网搜索,确定原因基本上就是excel被加密。
所以只要取消“保护工作簿”,就可以显示隐藏的sheet。点击图1里的红框3取消工作簿保护会出现图6,提示撤销工作簿保护会需要原始密码。
图6 撤销工作簿保护需要原始密码
在不知道密码的情况下,我们怎样破解“工作簿保护”呢?
解决问题
1、修改原始excel的后缀为“.zip”,原始excel就变成了一个压缩文件。
2、打开压缩文件-进入xl文件夹-用记事本打开workbook文件
3、搜索“protect”-删除“protect”所在的<>-保存
4、将压缩包文件改后缀为“.xls”转回excel文件并打开,右键sheet,可以看到红框内的“取消隐藏”、“增加sheet的标志”都变成可点击的状态。
5、点击取消隐藏,可以看到被隐藏的sheet,挨个取消隐藏即可。
6、最后,我们就成功的把所有隐藏sheet都找出来了,成功!