恍然小悟,去掉Excel的worksheet(工作表)保护的新方法

广为认知的方法是,运行一段猜测密码的VBA(https://uknowit.uwgb.edu/page.php?id=28850),几十秒就可以找到,因为密码Hash很短所以密码有多个。但是Excel2013里密码Hash很长所以密码几乎是唯一的,依靠这个VBA肯定找不到密码。

我虽然手头没有Excel 2013,但是推测,这个worksheet保护,其实没有对文件内容加密,仅仅是做了些标记,说不让修改某些制定的cell而已,应该是去掉了标记就可以自由修改了的。在Office 2010上实验了,的确没问题,只要把文件按照下面的方法修改一下就好了:

  1. 把xlsx文件后缀改成zip,解压。  (如果是xls,那就先保存成xlsx格式)

    解压后的目录结构大致是:

    顶层目录
        _res目录
        docProps目录
        xl目录
       [Content_Types].xml
       ....
  2. 在解压后的xl/worksheets目录里,找到sheet1.xml, sheet2.xml...,打开
  3. 把里面的<sheetProtect.....>这句给删除
    <sheetProtection objects="1" password="????" scenarios="1" sheet="1"/>
  4. 把顶层目录的东西压缩,但是不包括顶层目录。把压缩有的文件后缀名改成xlsx,这就是可以自由修改的xls文件了。

估计这个方法应该在Excel2013里可以使用的。

这个方法就和去除pdf的复制打印保护的方法差不多,不需要密码,只需要用qpdf工具修改一下就好了。

qpdf --decrypt old_pdf_file new_pdf_file

时间: 2024-08-28 17:18:32

恍然小悟,去掉Excel的worksheet(工作表)保护的新方法的相关文章

使用宏命令撤销EXCEL工作表保护

EXCEL工作表编辑资料,设置了工作表保护后,不能对表格进行插入删除操作.如果没有密码,很简单:工具-选项—工作表保护——撤消工作表保护 就可以了.如果忘记密码,如下操作: 1. 打开文件 2. 工具---宏----录制新宏---输入名字如:a 3. 停止录制(这样得到一个空宏) 4. 工具---宏----宏,选a,点编辑按钮 5. 删除窗口中的所有字符(只有几个),替换为下面的内容:(复制下来) Option ExplicitPublic Sub AllInternalPasswords()

Excel解除&#39;工作表保护密码&#39;,并复原密码设定

前提要求 Office 2003(也就是老版的.xls文件) 用到宏操作 可以解除[审阅->保护工作表]的密码保护,其他的密码保护不能处理. 解决方案 打开需解除保护密码的Excel文件(.xls): 从菜单栏里找到并打开[录制宏]: 点击[停止录制](这样得到一个空宏): 点击[宏],找到刚刚录制的宏,点击编辑: 删除窗口中的所有代码,替换为下面的内容: 如果菜单没有上述描述的按钮,可以在[文件->选项->自定义功能区]找 Ctrl+S保存关闭编辑窗口: 点击[宏],找到刚刚录制的宏,

Excel工作表之SQL查询方法

[转载]Excel工作表之SQL查询方法 来源:http://blog.csdn.net/zhanghongju/article/details/8428458 近期在单位上做业务数据分析,发现还是Excel用的直接,筛选.求和.分类等等也是不亦乐乎,但是发现一些函数的效率与SQL还是有着较大差距,甚至是天壤之别,故作文一篇,提供Excel中的SQL查询使用方式. 查询的工作表可以是当前工作簿中的,也可以是其他工作簿中的.例如,图1所示的“网站数据.xlsx”工作簿中,Sheet1表格存储的是网

EXCEL工作表保护密码破解方式

Excel工作表密码保护的解除方法 Excel弹出"您试图更改的单元格或图表受保护,因而是只读的.若要修改受保护单元格或图表,请先使用'撤消工作表保护'命令(在'审阅'选项卡的'更改'组中)来取消保护.可能会提示您输入密码. 出现这种情况,应该怎么解决呢?经过研究,找到了两种破解Excel工作表保护码的方法. 一.VBA宏代码破解法: 第一步:打开该文件 第二步:按Alt+F11,进入VBA编辑界面: 第三步:插入一个Module: 第四步:在右边Module的空白编辑区域,复制粘贴下面的所有内

Excel工作表保护密码破解的宏代码

        下了个微软软研究院的开发组实习生申请表,想填却填不进去.         原来他对工作表做了锁定,还有密码,我猜测他不是故意坑人的,想申微软的人连这点手段都没有人家也不会要的.下面的宏代码就是来破工作表锁定的. <span style="font-size:12px;color:#000000;">Public Sub 工作表保护密码破解() Const DBLSPACE As String = vbNewLine & vbNewLine Const

Excel怎么改变工作表从右到左显示

方法一: 正常的工作表一般显示都是如下图,最左面是行号,最上面是列标,从左到右. 按<Alt+F11>组合键进入VBE界面. 在[属性]框里将"DisplayRightToLeft"选项改成TRUE. 再回到Excel工作表界面,界面就变成了下面的样式.同样的方法,如果改成FALSE则工作表显示还是从左到右. 方法二: 在功能区空白区鼠标右键,选择[自定义快速访问工具栏]. 选择[所有命令],并找到[从右向左书写的文档],点击[添加]按钮. 如上操作并确定后,快速访问工具栏

Excel VBA 判断工作表是否为空或被使用过(比如设置过框线)

IsEmpty 函数 返回 Boolean 值,指出变量是否已经初始化. [语法] IsEmpty(expression) 必要的 expression 参数是一个 Variant,包含一个数值或字符串表达式(实际上还可以是单元格).但是,因为 IsEmpty 被用来确定个别变量是否已初始化,所以 expression 参数通常是单一变量名. [说明] 如果变量未初始化或已明确设置为 Empty,则 IsEmpty 返回 True:否则返回 False.如果 expression 含有多个变量,

Excel vba引用工作表的三种写法

文章介绍vba引用工作表名称的三种不同写法. vba引用工作表是我们在学习VBA过程中很常用. 本文提供三种vba引用工作表的代码,通过这三种方式都可以实现vba引用工作表名. 方法一:Sheets(Sheet.Index) 方法二:Sheets(Sheets.Name) 方法三:Sheets.CodeName 下面是vba引用工作表的相关的一个截图,可以很直观的看到其使用. 原文地址:https://www.cnblogs.com/huhewei/p/9039168.html

EXCEL工作表保护密码忘记了,如何撤消工作表保护?

按下面步骤操作,如果不会发邮件给我吧 [email protected] 1\打开文件 2\工具---宏----录制新宏---输入名字如:aa 3\停止录制(这样得到一个空宏) 4\工具---宏----宏,选aa,点编辑按钮 5\删除窗口中的所有字符(只有几个),替换为下面的内容:(你复制吧) Option ExplicitPublic Sub AllInternalPasswords() ' Breaks worksheet and workbook structure passwords.