撤销工作表保护怎么撤销(撤销工作表保护的方法步骤)
看完本篇文章,你可能学会了怎么解除工作表密码保护,但是,解决有些问题,其实没这么复杂。
数据模板的哪些事
一、问题的来由
在卫生局上班的一个朋友传过来一个Excel表格,说这个表格有问题,他怎么都搞不定,让我帮他修改下。我便欣然答应,让微信发过来。
实名制数据采集模板
收到发过来的表格,我打开一看,这明显就是某个管理系统的数据录入模板,做数据分析的人都知道,原始数据的格式是非常重要的,常常会因为一个数据格式的错误,导致导入系统后结果发生很大的偏差。因此,为了防止录入人员意外修改数据模板的固有格式,通常系统都会对这些“模板式”的工作表进行保护处理。
有问题的录入数据表
显然,我朋友录入的这个数据表因为操作不当(可能是进行了某些复制、粘贴等不规范操作)录入的数据格式比较混乱,单元格的字体大小、加粗属性、字体颜色不一致;对齐方式不一致;日期格式也不一致。他想修改成统一的单元格格式,因为这个数据模板设置了工作表保护的原因,他当然修改不了!
功能区灰色,无法编辑
撤消工作表保护,需要密码
二、走上了破解之路
显然,要将混乱的数据格式统一修改,就必须要编辑,但是目前工作表被保护了,撤销工作表保护又没有密码,此时唯一的办法我就想到了破解清除掉工作表保护密码,才能完成朋友交给的任务。
说干就干,目前流行两种清除工作表保护密码的方法:(切记不可用于不正当操作)
第1种,利用VBA清除(简单、高效)
操作方法:实践环节能用图片表达的就尽量不用文字,我直接上图:
方法1:利用VBA代码清除工作表保护操作图
VBA清除密码操作成功,可以编辑
附:清除工作表保护密码VBA代码:
Public Sub 工作表保护密码破解()
Const HUANHANG As String = vbNewLine & vbNewLine
Const MINGCHEN As String = “清除工作表保护密码”
Const JINGGAO As String = “该工作簿中的工作表密码保护已全部清除!!” & HUANHANG & “请记得另保存” _
& HUANHANG & “注意:不要用在不当地方,要尊重他人的劳动成果!”
Const TISHI1 As String = “该文件工作表中没有加密”
Const TISHI2 As String = “该文件工作表中没有加密2”
Const KSPJ As String = “解密需花费一定时间,请耐心等候!” & HUANHANG & “按确定开始清除!”
Const FXMM1 As String = “密码重新组合为:” & HUANHANG & “$$” & HUANHANG & _
“如果该文件工作表有不同密码,将搜索下一组密码并修改清除”
Const FXMM2 As String = “密码重新组合为:” & HUANHANG & “$$” & HUANHANG & _
“如果该文件工作表有不同密码,将搜索下一组密码并解除”
Const MSGONLYONE As String = “确保为唯一的?”
Dim w1 As Worksheet, w2 As Worksheet
Dim i As Integer, j As Integer, k As Integer, l As Integer
Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer
Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer
Dim PWord1 As String
Dim ShTag As Boolean, WinTag As Boolean
Application.ScreenUpdating = False
With ActiveWorkbook
WinTag = .ProtectStructure Or .ProtectWindows
End With
ShTag = False
For Each w1 In Worksheets
ShTag = ShTag Or w1.ProtectContents
Next w1
If Not ShTag And Not WinTag Then
MsgBox TISHI1, vbInformation, MINGCHEN
Exit Sub
End If
MsgBox KSPJ, vbInformation, MINGCHEN
If Not WinTag Then
Else
On Error Resume Next
Do ‘dummy do loop
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
With ActiveWorkbook
.Unprotect Chr(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 = False And _
.ProtectWindows = False Then
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)
MsgBox Application.Substitute(FXMM1, _
“$$”, PWord1), vbInformation, MINGCHEN
Exit Do ‘Bypass all for…nexts
End If
End With
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
Loop Until True
On Error GoTo 0
End If
If WinTag And Not ShTag Then
MsgBox MSGONLYONE, vbInformation, MINGCHEN
Exit Sub
End If
On Error Resume Next
For Each w1 In Worksheets
‘Attempt clearance with PWord1
w1.Unprotect PWord1
Next w1
On Error GoTo 0
ShTag = False
For Each w1 In Worksheets
‘Checks for all clear ShTag triggered to 1 if not.
ShTag = ShTag Or w1.ProtectContents
Next w1
If ShTag Then
For Each w1 In Worksheets
With w1
If .ProtectContents Then
On Error Resume Next
Do ‘Dummy do loop
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If Not .ProtectContents Then
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)
MsgBox Application.Substitute(FXMM2, _
“$$”, PWord1), vbInformation, MINGCHEN
‘leverage finding Pword by trying on other sheets
For Each w2 In Worksheets
w2.Unprotect PWord1
Next w2
Exit Do ‘Bypass all for…nexts
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
Loop Until True
On Error GoTo 0
End If
End With
Next w1
End If
MsgBox JINGGAO, vbInformation, MINGCHEN
End Sub
以上是清除工作表保护代码,直接复制粘贴到sub模块运行即可!
第2种,利用RAR软件清除(不一定能成功)
操作方法:实践环节,依然直接上操作图:
方法2:利用RAR软件清除工作表密码保护
- 将带有密码保护的excel表格文件扩展名由.xlsx改为.rar压缩文件格式。
- 打开压缩包,依次进入“xl”→“worksheets”文件夹,在这里找到你需要清除密码的工作表(里面可能有几个sheet,找到你要处理的sheet,如果不知道是哪个sheet,可通过vba编辑器的工程属性查看)本案例信息表对应的是“sheet4.xlm”,点击对应的sheet.xlm,然后右键用记事本打开,找到含有“<sheetProtection……/>”文字的这段代码后,将其删除并保存当前记事本文件。
通过vba工程属性查看 对应的sheet表
3.保存修改后的“sheet4.xml”,回到压缩包软件,点击确定修改更新到压缩包,再将该文件的扩展名.rar改为原后缀名.xlsx。
4.此时,再打开这个Excel表格后工作表保护密码已经清除了,是不是很有成就感呢?
三、其实,费了半天劲,这个问题没这么复杂!
虽然通过暴力清除工作表密码保护的方法,实现了对模板数据表的编辑。
但是,我们都错了!!!处理这样的问题,用不着这么复杂。
因为这种模板式的表格,被加密保护本来就是系统为了防止录入人员意外修改格式而设置的。它对表格中的一些字段格式都是有固定要求和说明的,并且数据行都已经设定好了单元格格式,录入人员只需要录入数据值,不需要修改单元格格式。
如果在后期录入的数据格式出现了参差不齐的情况,根本不用这么麻烦去破解什么工作表密码。此时,你只需要一个Ctrl+D快捷键就可以轻松解决。Ctrl+D的功能是向下复制填充,被加密保护了的工作表,单元格格式是没法修改的,但利用Ctrl+D可以将模板数据表中第一行的原始格式向下复制到数据录入区域,然后再清除复制的数据,重新粘贴需要录入数据的值,这样操作就达到了恢复模板数据表的统一格式。
恢复Excel数据模板格式的正确姿势图
显然,对于朋友的这个问题,我们费尽周折破解密码,是把简单的问题复杂化了。
总结:
今天分享这样的一个案例,除了教会大家如何清除工作表密码保护的两种方法外,也给遇到了类似问题的朋友们提个醒,小心避坑,不要把简单的问题复杂化!记住:任何事情都肯定有更简易的方法,任何问题都肯定有更简单的答案,越简单就越容易找到核心,越容易达致成功。
以上就是爱惜日网»撤销工作表保护怎么撤销(撤销工作表保护的方法步骤)的相关内容了,更多精彩请关注作者:爱惜日号SEO专员
声明:本文由爱惜日网/爱惜日号作者编辑发布,更多技术关注!
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 203304862@qq.com
本文链接:https://jinnalai.com/n/31950.html