撤销工作表保护怎么撤销撤销工作表保护的方法步骤撤销工作表保护怎么弄




撤销工作表保护怎么撤销撤销工作表保护的方法步骤撤销工作表保护怎么弄

2022-07-20 21:30:05 网络知识 官方管理员

看完本篇文章,你可能学会了怎么解除工作密码保护,但是,解决有些问题,其实没这么复杂。


撤销工作表保护怎么撤销(撤销工作表保护的方法步骤)(1)

数据模板的哪些事

一、问题的来由

在卫生局上班的一个朋友传过来一个Excel表格,说这个表格有问题,他怎么都搞不定,让我帮他修改下。我便欣然答应,让微信发过来。

撤销工作表保护怎么撤销(撤销工作表保护的方法步骤)(2)

实名制数据采集模板

收到发过来的表格,我打开一看,这明显就是某个管理系统的数据录入模板,做数据分析的人都知道,原始数据的格式是非常重要的,常常会因为一个数据格式的错误,导致导入系统后结果发生很大的偏差。因此,为了防止录入人员意外修改数据模板的固有格式,通常系统都会对这些“模板式”的工作表进行保护处理

撤销工作表保护怎么撤销(撤销工作表保护的方法步骤)(3)

有问题的录入数据表

显然,我朋友录入的这个数据表因为操作不当(可能是进行了某些复制、粘贴等不规范操作)录入的数据格式比较混乱,单元格的字体大小、加粗属性、字体颜色不一致;对齐方式不一致;日期格式也不一致。他想修改成统一的单元格格式,因为这个数据模板设置了工作表保护的原因,他当然修改不了!

撤销工作表保护怎么撤销(撤销工作表保护的方法步骤)(4)

功能区灰色,无法编辑

撤销工作表保护怎么撤销(撤销工作表保护的方法步骤)(5)

撤消工作表保护,需要密码

二、走上了破解之路

显然,要将混乱的数据格式统一修改,就必须要编辑,但是目前工作表被保护了,撤销工作表保护又没有密码,此时唯一的办法我就想到了破解清除掉工作表保护密码,才能完成朋友交给的任务。

说干就干,目前流行两种清除工作表保护密码的方法:(切记不可用于不正当操作)

第1种,利用VBA清除(简单、高效)

操作方法:实践环节能用图片表达的就尽量不用文字,我直接上图:

撤销工作表保护怎么撤销(撤销工作表保护的方法步骤)(6)

方法1:利用VBA代码清除工作表保护操作图

撤销工作表保护怎么撤销(撤销工作表保护的方法步骤)(7)

VBA清除密码操作成功,可以编辑

附:清除工作表保护密码VBA代码:

PublicSub工作表保护密码破解()

ConstHUANHANGAsString=vbNewLine&vbNewLine

ConstMINGCHENAsString="清除工作表保护密码"

ConstJINGGAOAsString="该工作簿中的工作表密码保护已全部清除!!"&HUANHANG&"请记得另保存"_

&HUANHANG&"注意:不要用在不当地方,要尊重他人的劳动成果!"

ConstTISHI1AsString="该文件工作表中没有加密"

ConstTISHI2AsString="该文件工作表中没有加密2"

ConstKSPJAsString="解密需花费一定时间,请耐心等候!"&HUANHANG&"按确定开始清除!"

ConstFXMM1AsString="密码重新组合为:"&HUANHANG&"$$"&HUANHANG&_

"如果该文件工作表有不同密码,将搜索下一组密码并修改清除"

ConstFXMM2AsString="密码重新组合为:"&HUANHANG&"$$"&HUANHANG&_

"如果该文件工作表有不同密码,将搜索下一组密码并解除"

ConstMSGONLYONEAsString="确保为唯一的?"

Dimw1AsWorksheet,w2AsWorksheet

DimiAsInteger,jAsInteger,kAsInteger,lAsInteger

DimmAsInteger,nAsInteger,i1AsInteger,i2AsInteger

Dimi3AsInteger,i4AsInteger,i5AsInteger,i6AsInteger

DimPWord1AsString

DimShTagAsBoolean,WinTagAsBoolean

Application.ScreenUpdating=False

WithActiveWorkbook

WinTag=.ProtectStructureOr.ProtectWindows

EndWith

ShTag=False

ForEachw1InWorksheets

ShTag=ShTagOrw1.ProtectContents

Nextw1

IfNotShTagAndNotWinTagThen

MsgBoxTISHI1,vbInformation,MINGCHEN

ExitSub

EndIf

MsgBoxKSPJ,vbInformation,MINGCHEN

IfNotWinTagThen

Else

OnErrorResumeNext

Do'dummydoloop

Fori=65To66:Forj=65To66:Fork=65To66

Forl=65To66:Form=65To66:Fori1=65To66

Fori2=65To66:Fori3=65To66:Fori4=65To66

Fori5=65To66:Fori6=65To66:Forn=32To126

WithActiveWorkbook

.UnprotectChr(i)&Chr(j)&Chr(k)&_

Chr(l)&Chr(m)&Chr(i1)&Chr(i2)&_

Chr(i3)&Chr(i4)&Chr(i5)&Chr(i6)&Chr(n)

If.ProtectStructure=FalseAnd_

.ProtectWindows=FalseThen

PWord1=Chr(i)&Chr(j)&Chr(k)&Chr(l)&_

Chr(m)&Chr(i1)&Chr(i2)&Chr(i3)&_

Chr(i4)&Chr(i5)&Chr(i6)&Chr(n)

MsgBoxApplication.Substitute(FXMM1,_

"$$",PWord1),vbInformation,MINGCHEN

ExitDo'Bypassallfor...nexts

EndIf

EndWith

Next:Next:Next:Next:Next:Next

Next:Next:Next:Next:Next:Next

LoopUntilTrue

OnErrorGoTo0

EndIf

IfWinTagAndNotShTagThen

MsgBoxMSGONLYONE,vbInformation,MINGCHEN

ExitSub

EndIf

OnErrorResumeNext

ForEachw1InWorksheets

'AttemptclearancewithPWord1

w1.UnprotectPWord1

Nextw1

OnErrorGoTo0

ShTag=False

ForEachw1InWorksheets

'ChecksforallclearShTagtriggeredto1ifnot.

ShTag=ShTagOrw1.ProtectContents

Nextw1

IfShTagThen

ForEachw1InWorksheets

Withw1

If.ProtectContentsThen

OnErrorResumeNext

Do'Dummydoloop

Fori=65To66:Forj=65To66:Fork=65To66

Forl=65To66:Form=65To66:Fori1=65To66

Fori2=65To66:Fori3=65To66:Fori4=65To66

Fori5=65To66:Fori6=65To66:Forn=32To126

.UnprotectChr(i)&Chr(j)&Chr(k)&_

Chr(l)&Chr(m)&Chr(i1)&Chr(i2)&Chr(i3)&_

Chr(i4)&Chr(i5)&Chr(i6)&Chr(n)

IfNot.ProtectContentsThen

PWord1=Chr(i)&Chr(j)&Chr(k)&Chr(l)&_

Chr(m)&Chr(i1)&Chr(i2)&Chr(i3)&_

Chr(i4)&Chr(i5)&Chr(i6)&Chr(n)

MsgBoxApplication.Substitute(FXMM2,_

"$$",PWord1),vbInformation,MINGCHEN

'leveragefindingPwordbytryingonothersheets

ForEachw2InWorksheets

w2.UnprotectPWord1

Nextw2

ExitDo'Bypassallfor...nexts

EndIf

Next:Next:Next:Next:Next:Next

Next:Next:Next:Next:Next:Next

LoopUntilTrue

OnErrorGoTo0

EndIf

EndWith

Nextw1

EndIf

MsgBoxJINGGAO,vbInformation,MINGCHEN

EndSub

以上是清除工作表保护代码,直接复制粘贴到sub模块运行即可!

第2种,利用RAR软件清除(不一定能成功)

操作方法:实践环节,依然直接上操作图:

撤销工作表保护怎么撤销(撤销工作表保护的方法步骤)(8)

方法2:利用RAR软件清除工作表密码保护

  1. 将带有密码保护的excel表格文件扩展名由.xlsx改为.rar压缩文件格式。
  2. 打开压缩包,依次进入“xl”→“worksheets”文件夹,在这里找到你需要清除密码的工作表(里面可能有几个sheet,找到你要处理的sheet,如果不知道是哪个sheet,可通过vba编辑器的工程属性查看)本案例信息表对应的是“sheet4.xlm”,点击对应的sheet.xlm,然后右键用记事本打开,找到含有“<sheetProtection……/>”文字的这段代码后,将其删除并保存当前记事本文件。

撤销工作表保护怎么撤销(撤销工作表保护的方法步骤)(9)

通过vba工程属性查看对应的sheet表

3.保存修改后的“sheet4.xml”,回到压缩包软件,点击确定修改更新到压缩包,再将该文件的扩展名.rar改为原后缀名.xlsx。

4.此时,再打开这个Excel表格后工作表保护密码已经清除了,是不是很有成就感呢?

三、其实,费了半天劲,这个问题没这么复杂!

虽然通过暴力清除工作表密码保护的方法,实现了对模板数据表的编辑。

但是,我们都错了!!!处理这样的问题,用不着这么复杂。

因为这种模板式的表格,被加密保护本来就是系统为了防止录入人员意外修改格式而设置的。它对表格中的一些字段格式都是有固定要求和说明的,并且数据行都已经设定好了单元格格式,录入人员只需要录入数据值不需要修改单元格格式

如果在后期录入的数据格式出现了参差不齐的情况,根本不用这么麻烦去破解什么工作表密码。此时,你只需要一个Ctrl+D快捷键就可以轻松解决。Ctrl+D的功能是向下复制填充,被加密保护了的工作表,单元格格式是没法修改的,但利用Ctrl+D可以将模板数据表中第一行的原始格式向下复制到数据录入区域,然后再清除复制的数据,重新粘贴需要录入数据的,这样操作就达到了恢复模板数据表的统一格式

撤销工作表保护怎么撤销(撤销工作表保护的方法步骤)(10)

恢复Excel数据模板格式的正确姿势图

显然,对于朋友的这个问题,我们费尽周折破解密码,是把简单的问题复杂化了。

总结:

今天分享这样的一个案例,除了教会大家如何清除工作表密码保护的两种方法外,也给遇到了类似问题的朋友们提个醒,小心避坑,不要把简单的问题复杂化!记住:任何事情都肯定有更简易的方法,任何问题都肯定有更简单的答案,越简单就越容易找到核心,越容易达致成功。


发表评论:

最近发表
网站分类
标签列表