使excel表格内容只读不能修改及破解

只读不能修改方法:

在EXCEL里,选择工具——选项——安全性——分别设置打开权限密码和修改权限密码,2个密码要不一样,然后确定,会弹出对话框让你重新输入密 码,第一个框输入你设置打开权限密码,第二个框输入你修改权限密码,然后保存文件。然后你把打开权限密码给别人就OK了,别人打开就是只读,不能修改。要 修改需要你修改权限密码。

补充一下:如果不想只读打开需要密码,可以不设置打开权限密码,只设置修改权限密码。

破解Excel保护方法

Excel对数据有很强的保护功能,可以对整个或部分数据隐藏、禁止复制和修改等,但有时候,由于忘记了密码,或者记不起以前自己到底做了哪些改动,这种保护反而会为难自己。针对这种情况,我总结了几种解除保护的方法,供大家参考,并希望能够以此抛砖引玉。

一、解除单元格的保护
1.取消隐藏的行或列
      被隐藏的行或列有一个明显的标志,那就是在行标题栏或列标题栏上有一条粗的黑线。取消隐藏的行或列的方法有两种,一种是直接拖动隐藏处的行或列标题使之变 宽,也可以选中包含隐藏区域的行或列,通过“格式”菜单中的行列项目输入非0数值调整行高或列宽,使数据有足够的空间显示出来;另一种方法是选中包含隐藏 内容的行或列区域,再通过“格式”菜单行列选项中的“取消隐藏”命令来恢复全部行列区域。

2.取消隐藏单元格或区域中的数据
      为了不让他人直接看到单元格的内容,一种简单的方法就是把数据颜色设置成与背景色相同,这时我们只要拖选整个工作表即可让数据原形毕露;如果用图片、矩形 框之类的非字符内容将重要数据遮盖,需要先用拖选方式找出工作表中的图片位置,再将其移开,激活被遮住的单元格,一般在公式编辑栏中就会显示其内容。

     若在单元格格式中使用了三个分号或空格之类的自定义格式,一般只要选中此单元格,在公式编辑栏中即可显示其内容,要想取消这种隐藏,可重新设置此单元格格式,在“数字”选项卡中选择“常规”即可。

       如果选中怀疑有数据的单元格后并没有在公式编辑栏中显示数据,不一定它就真的没有数据,我们只要看一下单元格的格式能否设置,若不能的话说明工作表被保 护,如果不用密码可以取消工作表保护的话,再在单元格格式设置中先查看数据格式是否为自定义,然后查看“保护”选项卡,看看是否已勾选了“隐藏”项,将这 些都取消就可以知道单元格是否真的没有内容。当然,如果在撤消工作表保护时需要密码的话,我们将无可奈何,除非用户设置的密码很简单,那我就告诉你一个秘 密,当密码的形式是“*123*”或“*abc*”时,我们可以分别用“*333*”或“*ccc*”来破解,星号表示任意字符,到底是什么只有靠猜了, 这种方法对工作表和工作簿保护的密码也适应。

3.取消单元格数据的只读属性

       有时单元格中的数据虽然可见,但是我们既不能修改,也不能在当前工作表中复制,对于这种保护措施,取消的方法跟上面的第2点基本相同,只要取消单元格格式 设置对话框中“保护”选项卡中的“锁定”一项即可。当然还需要通过密码取消工作表的保护才行。   如果我们无法通过密码取消怎么办?你可以将其复制粘贴到其他工作表中,再在新的工作表中进行修改。

二、解除工作表的保护
       查看是否有被隐藏的工作表,若菜单中有“格式→工作表→取消隐藏”项,则可通过此项取消隐藏的工作表。

       如果在菜单中也没有有效的“取消隐藏”项,仍然可能有被隐藏的工作表,这时我们可以任选一工作表右击,在弹出菜单中选择“查看代码”,然后在左窗格中的 “Microsoft Excel 对象”列表中选择被隐藏的工作表,将其“Visible”属性值取“-1”退出即可,如图所示。

       如果工作表被密码保护,则可复制当前表全部内容到另一张未保护的工作表中编辑。

三、VBA宏代码破解法:

       第一步:打开该文件,先解除默认的“宏禁用”状态,方法是点击工具栏下的“选项”状态按钮,打开“Microsoft Office安全选项”窗口,选择其中的“启用此内容”,“确定”退出(图2);

  再切换到“视图”选项卡,点击“宏”→“录制宏”,出现“录制新宏”窗口,在“宏名”定义一个名称为:PasswordBreaker(图3),点击“确定”退出;

  第二步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“编辑”,打开“Microsoft Visual Basic”编辑器,用如下内容替换右侧窗口中的所有代码:

  Sub PasswordBreaker()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
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
ActiveSheet.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 ActiveSheet.ProtectContents = False Then
MsgBox "One usable password is " & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
ActiveWorkbook.Sheets(1).Select
Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub

  第三步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“执行”,密码就现形了(图4)。

  第四步:切换“审阅”选项卡,点击“撤消工作表保护”,然后输入密码即可解除锁定。

        另一个能解除Excel工作表保护的VBA脚本
    
Option Explicit

Public Sub AllInternalPasswords()
' Breaks worksheet and workbook structure passwords. Bob McCormick
' probably originator of base code algorithm modified for coverage
' of workbook structure / windows passwords and for multiple passwords
'
' Norman Harker and JE McGimpsey 27-Dec-2002 (Version 1.1)
' Modified 2003-Apr-04 by JEM: All msgs to constants, and
' eliminate one Exit Sub (Version 1.1.1)
' Reveals hashed passwords NOT original passwords
Const DBLSPACE As String = vbNewLine & vbNewLine
Const AUTHORS As String = DBLSPACE & vbNewLine & _
"Adapted from Bob McCormick base code by" & _
"Norman Harker and JE McGimpsey"
Const HEADER As String = "AllInternalPasswords User Message"
Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04"
Const REPBACK As String = DBLSPACE & "Please report failure " & _
"to the microsoft.public.excel.programming newsgroup."
Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _
"now be free of all password protection, so make sure you:" & _
DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _
DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _
DBLSPACE & "Also, remember that the password was " & _
"put there for a reason. Don't stuff up crucial formulas " & _
"or data." & DBLSPACE & "Access and use of some data " & _
"may be an offense. If in doubt, don't."
Const MSGNOPWORDS1 As String = "There were no passwords on " & _
"sheets, or workbook structure or windows." & AUTHORS & VERSION
Const MSGNOPWORDS2 As String = "There was no protection to " & _
"workbook structure or windows." & DBLSPACE & _
"Proceeding to unprotect sheets." & AUTHORS & VERSION
Const MSGTAKETIME As String = "After pressing OK button this " & _
"will take some time." & DBLSPACE & "Amount of time " & _
"depends on how many different passwords, the " & _
"passwords, and your computer's specification." & DBLSPACE & _
"Just be patient! Make me a coffee!" & AUTHORS & VERSION
Const MSGPWORDFOUND1 As String = "You had a Worksheet " & _
"Structure or Windows Password set." & DBLSPACE & _
"The password found was: " & DBLSPACE & "$$" & DBLSPACE & _
"Note it down for potential future use in other workbooks by " & _
"the same person who set this password." & DBLSPACE & _
"Now to check and clear other passwords." & AUTHORS & VERSION
Const MSGPWORDFOUND2 As String = "You had a Worksheet " & _
"password set." & DBLSPACE & "The password found was: " & _
DBLSPACE & "$$" & DBLSPACE & "Note it down for potential " & _
"future use in other workbooks by same person who " & _
"set this password." & DBLSPACE & "Now to check and clear " & _
"other passwords." & AUTHORS & VERSION
Const MSGONLYONE As String = "Only structure / windows " & _
"protected with the password that was just found." & _
ALLCLEAR & AUTHORS & VERSION & REPBACK
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 MSGNOPWORDS1, vbInformation, HEADER
Exit Sub
End If
MsgBox MSGTAKETIME, vbInformation, HEADER
If Not WinTag Then
MsgBox MSGNOPWORDS2, vbInformation, HEADER
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(MSGPWORDFOUND1, _
"$$", PWord1), vbInformation, HEADER
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, HEADER
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(MSGPWORDFOUND2, _
"$$", PWord1), vbInformation, HEADER
'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 ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER
End Sub
-----------------------------------
把上面的代码保存为一个宏,运行,点两次确定,等到它运行结束,工作表密密码就解除了。

      如果出现提示“工程不可查看”不能录制新宏,可以先使用“VBA工程加锁解锁器”来解除其“工程不可查看”后再用上面的方法找出保护密码。

       当然了,“VBA工程加锁解锁器”顾名思义,这是一个既可以解除Excel保护密码,又可以为Excel加保护密码的软件,实为一个优秀的Excel辅助工具。

      下载地址:http://pickup.mofile.com/9306322777229726

四、解除工作簿的保护
      如果工作簿被密码保护不能打开,我们可以也使用一些专用的破解软件进行破解
       Intelore Excel Password Recovery V1.0c
      下载地址:http://pickup.mofile.com/6508444219536677

       Passware Kit V7.1.1411 汉化版.rar
      下载地址 http://pickup.mofile.com/1349573336951801

      如果只能以只读方式打开,我们打开后另存为一个不设密码的副本,即可解除只读限制。

     有时虽然工作簿在打开时没有任何密码,但如果我们不能对工作表进行复制、移动和插入等操作,那是保护了工作簿,可以通过依次选择“工具→保护→撤消工作簿 保护”菜单命令来解除,但如果有密码的话,能够猜出来更好,否则只有新建一工作簿,将被保护的工作表内容用拖选的方法复制到新的工作簿中进行编辑。  

     相信有了上面这些方法,Excel中应该没有多少东西能够瞒过你的火眼金睛,也没有多少内容让你不能左右了。

时间: 2024-11-08 18:17:46

使excel表格内容只读不能修改及破解的相关文章

Excel表格内容填错怎么办

Excel表格内容填错怎么办   结果拿到的却是这样的-- 你只能伏案工作,把不正确的改正,不清楚的还要各种连续一个一个确认,麻烦不说,平白增加了很多工作量,效率低到令人发指,该怎么办呢? 其实Excel的数据校验功能完全可以帮你减少很多负担.比如还是这个表格,首先选中一列,比如手机号那列好了,选中(不包括名称栏)后切换选项卡到数据,然后单击"数据验证". 在弹出的界面中,设置允许部分改为"文本长度",数据设置"等于",长度填写"11&

excel表格内容到期隐藏的方法

  excel表格内容到期隐藏的方法           =TODAY()>DATE(2016,1,30) 操作动画

如何将Excel表格内容快速转移到新表格中

如果用户要将一张Excel表格内容添加到另一张表格中该如何去操作呢?有的朋友会想到复制到另一张表格上这个方法虽然是可以,但是碰到大量的数据复制起来恐怖有点困难,下面用这个方法可快速把内容转换到另一张表格中去. 操作步骤 1.打开Excel表格在工作薄中选择要转移的页面,如下图中的"初中". 2.接着按鼠标右键展开菜单选择"移动或复制工作表". 3.此时选择你要转移到的新工作表当中,如下图的"book1". 4.在选择"下列选择工作表之前

Excel表格内容转移到新表格方法

  如果用户要将一张Excel表格内容添加到另一张表格中该如何去操作呢?有的朋友会想到复制到另一张表格上这个方法虽然是可以,但是碰到大量的数据复制起来恐怖有点困难,下面用这个方法可快速把内容转换到另一张表格中去. 操作步骤 1.打开Excel表格在工作薄中选择要转移的页面,如下图中的"初中". 2.接着按鼠标右键展开菜单选择"移动或复制工作表". 3.此时选择你要转移到的新工作表当中,如下图的"book1". 4.在选择"下列选择工作表

java读取excel表格内容

问题描述 java读取excel表格内容 java读取excel表格内容,中间有好多空格,空格下面还有字,但是我就想读到空格上面,下面的不想读了,该怎么办呢 解决方案 使用POI组建读excel数据 解决方案二: POI 读取行列都可以的 . 解决方案三: 使用POI组建读excel数据,然后进行判断,空格就结束 解决方案四: 读到固定的某一行某一列就行了,,, 解决方案五: POI读取excel 时,是循环行读取的,在读取行数据时判断当前行数据是否为空,如果为空就跳出循环

如何在Excel表格中设置不可修改单元格

有时候我们希望对Excel表格的数据编辑做一些限制:比如只允许部分单元格的内容可以修改,其余的单元格数据则不允许修改(包括字号.字体等),我们可以这样操作. 现在我们有一个Excel表格,想要设置B2.B3.B4单元格为允许修改的部分,其余部分不可修改. 1.选择允许修改的区域(B2.B3.B4单元格),点击右键,从右键菜单中选择"设置单元格格式". 在"保护"选项卡中,去掉"锁定"前面的钩. 2.再击菜单栏上的"工具" →&

在Excel表格中设置不可修改单元格

有时候我们希望对Excel表格的数据编辑做一些限制:比如只允许部分单元格的内容可以修改,其余的单元格数据则不允许修改(包括字号.字体等),我们可以这样操作. 现在我们有一个Excel表格,想要设置B2.B3.B4单元格为允许修改的部分,其余部分不可修改. 1.选择允许修改的区域(B2.B3.B4单元格),点击右键,从右键菜单中选择"设置单元格格式". 在"保护"选项卡中,去掉"锁定"前面的钩. 2.再击菜单栏上的"工具" →&

将Excel表格内容直接转换成图片

通常情况下,要将Excel的表格内容复制成图片插在Word文档中,我们除了使用抓图H软件H就是按键盘上的PrintScreen键来抓取,这两种方法中前者要借助第三方软件来实现,后者虽然简单,但抓取的图片也要经过裁剪.缩放等方式处理.其实在Excel中还提供了更方便的将表格内容复制成图片的方法,操作非常简便,下面大家就跟随我一起来看看吧. 1.将选区复制成图片 <中国电脑教育报>曾介绍过在Word窗口中按住Shift键再单击"文件"菜单,此时就多出了两个命令即"全部

2种方法使Excel表格立刻变得更漂亮

Excel编辑一份表格并不困难.但我们也希望编辑出来的表格得美观漂亮吧?没说的,现在咱们就来为我们的表格美美容,让咱们的表格也变得漂亮起来. 1.更改默认表格线颜色 默认情况下,单元格的边线总是那种灰色的细点线.时间长了,就会有"审美疲劳"现象.咱们可以换换给这边框线重新换种颜色. 点击菜单命令"工具→选项",打开"选项"对话框,点击"视图"选项卡.在下方的"网格线颜色"下拉列表中,我们可以为单元格边框线重