2.在彈出的“單元格格式”中選擇“保護”,去掉“鎖定”前面的復選標記。
方法二:
1.打開文件。
2.工具-宏-錄制新宏-輸入名稱,如“aa”。
3.停止記錄(這樣妳會得到壹個空的宏)。
4.工具-宏-宏,選擇“aa”,點擊編輯按鈕。
5.刪除窗口中的所有字符,並替換為以下內容:
選項顯式
Public Sub AllInternalPasswords()
破壞工作表和工作簿結構密碼。鮑勃·麥考密克
可能是為覆蓋範圍修改的基本代碼算法的發起者
工作簿結構/ windows密碼和多個密碼
'
諾曼·哈克和JE·麥金普西2002年12月27日
由JEM於2003年4月4日修改:所有msg為常數,以及
取消壹個出口接頭(版本1.1.1)
顯示哈希密碼,而不是原始密碼
const DBLSPACE As String = VB newline & amp;vbNewLine
const AUTHORS As String = DBLSPACE & amp;vbNewLine & amp_
改編自鮑勃.麥考密克的基礎代碼。_
"諾曼·哈克和JE·麥金普西"
const HEADER As String = " AllInternalPasswords用戶消息"
Const版本為String = DBLSPACE & amp"版本1.1.1 2003-2004年4月"
const REPBACK As String = DBLSPACE & amp;請報告失敗。_
"到Microsoft . public . excel . programming新聞組。"
const all clear As String = DBLSPACE & amp;“工作簿應該”& amp_
現在是免費的所有密碼保護,所以要確保妳:" & amp_
DBLSPACE & amp“現在就存!”& ampDBLSPACE & amp“還有”& amp_
DBLSPACE & amp“後援!,後援!!,後援!!!"& amp_
DBLSPACE & amp另外,記住密碼是“& amp_
“放在那裏是有原因的。不要把重要的公式塞得滿滿的。_
“或者數據。”& ampDBLSPACE & amp“訪問和使用某些數據”。_
“可能是冒犯。如果有疑問,不要。”
const msgnopwords 1 As String = "上沒有密碼" & amp_
"工作表、工作簿結構或窗口."& amp作者& amp版本
Const MSGNOPWORDS2 As String = "沒有保護" & amp_
"工作簿結構或窗口。"& ampDBLSPACE & amp_
"繼續取消工作表保護。"& amp作者& amp版本
Const MSGTAKETIME As String = "在按下OK按鈕後this " & amp_
“需要壹些時間。”& ampDBLSPACE & amp"時間總量" & amp_
取決於有多少不同的密碼。_
"密碼和妳的電腦規格."& ampDBLSPACE & amp_
“耐心點!給我沖杯咖啡!”& amp作者& amp版本
const msgpwordfound 1 As String = "您有壹個工作表" & amp_
"結構或Windows密碼集。"& ampDBLSPACE & amp_
找到的密碼是:“& ampDBLSPACE & amp" $ $ " & ampDBLSPACE & amp_
請記下來,以便將來在其他工作簿中使用。_
"設置這個密碼的同壹個人。"& ampDBLSPACE & amp_
"現在檢查和清除其他密碼."& amp作者& amp版本
Const MSGPWORDFOUND2 As String = "妳有壹個工作表" & amp_
"密碼設置。"& ampDBLSPACE & amp找到的密碼是:“& amp_
DBLSPACE & amp" $ $ " & ampDBLSPACE & amp“記錄下它的潛力”。_
同壹個人將來在其他工作簿中使用。_
"設置這個密碼。"& ampDBLSPACE & amp"現在檢查和清除" & amp_
“其他密碼。”& amp作者& amp版本
const MSGONLYONE As String = " Only structure/windows " & amp;_
"用剛剛找到的密碼保護。"& amp_
ALLCLEAR & amp作者& amp版本& amp雷貝克
Dim w1作為工作表,w2作為工作表
Dim i為整數,j為整數,k為整數,l為整數
Dim m為整數,n為整數,i1為整數,i2為整數
將i3作為整數,i4作為整數,i5作為整數,i6作為整數
Dim PWord1為字符串
Dim ShTag為布爾值,WinTag為布爾值
申請。ScreenUpdating = False
使用ActiveWorkbook
WinTag =。保護結構或。保護窗口
以…結尾
ShTag = False
對於工作表中的每個w1
ShTag = ShTag或w1。保護內容
下壹個w1
如果不是ShTag和WinTag,則
MsgBox MSGNOPWORDS1,vbInformation,頭
出口接頭
如果…就會結束
MsgBox MSGTAKETIME,vbInformation,HEADER
如果不是WinTag,那麽
MsgBox MSGNOPWORDS2,vbInformation,頭
其他
出錯時繼續下壹步
Do虛擬do循環
對於i = 65至66:對於j = 65至66:對於k = 65至66
對於l = 65至66:對於m = 65至66:對於i1 = 65至66
對於i2 = 65到66:對於i3 = 65到66:對於i4 = 65到66
對於i5 = 65至66:對於i6 = 65至66:對於n = 32至126
使用ActiveWorkbook
。取消對Chr(i)的保護。Chr(j)和ampChr(k)和amp_
Chr(l)和ampchr(m )& amp;Chr(i1)和ampChr(i2)和amp_
Chr(i3)和ampChr(i4)和ampChr(i5)和ampChr(i6)和amp人權(北)
如果。ProtectStructure = False And _
。那麽ProtectWindows = False
pword 1 = Chr(I)& amp;Chr(j)和ampChr(k)和ampChr(l)和amp_
chr(m )& amp;Chr(i1)和ampChr(i2)和ampChr(i3)和amp_
Chr(i4)和ampChr(i5)和ampChr(i6)和amp人權(北)
MsgBox應用程序。替換(MSGPWORDFOUND1,_
" $$ ",PWord1),vbInformation,HEADER
Exit Do 'Bypass all for...下壹步
如果…就會結束
以…結尾
下壹頁:下壹頁:下壹頁:下壹頁:下壹頁:下壹頁
下壹頁:下壹頁:下壹頁:下壹頁:下壹頁:下壹頁
循環直到真
出錯時轉到0
如果…就會結束
如果是WinTag而不是ShTag,則
MsgBox MSGONLYONE,vbInformation,標頭
出口接頭
如果…就會結束
出錯時繼續下壹步
對於工作表中的每個w1
嘗試用PWord1清除
w1。取消保護PWord1
下壹個w1
出錯時轉到0
ShTag = False
對於工作表中的每個w1
如果沒有,檢查所有觸發到1的清除ShTag。
ShTag = ShTag或w1。保護內容
下壹個w1
如果ShTag那麽
對於工作表中的每個w1
帶w1
如果。那麽保護內容
出錯時繼續下壹步
Do虛擬do循環
對於i = 65至66:對於j = 65至66:對於k = 65至66
對於l = 65至66:對於m = 65至66:對於i1 = 65至66
對於i2 = 65到66:對於i3 = 65到66:對於i4 = 65到66
對於i5 = 65至66:對於i6 = 65至66:對於n = 32至126
。取消對Chr(i)的保護。Chr(j)和ampChr(k)和amp_
Chr(l)和ampchr(m )& amp;Chr(i1)和ampChr(i2)和ampChr(i3)和amp_
Chr(i4)和ampChr(i5)和ampChr(i6)和amp人權(北)
如果沒有。那麽保護內容
pword 1 = Chr(I)& amp;Chr(j)和ampChr(k)和ampChr(l)和amp_
chr(m )& amp;Chr(i1)和ampChr(i2)和ampChr(i3)和amp_
Chr(i4)和ampChr(i5)和ampChr(i6)和amp人權(北)
MsgBox應用程序。替換(MSGPWORDFOUND2,_
" $$ ",PWord1),vbInformation,HEADER
通過嘗試其他工作表來利用查找單詞
對於工作表中的每個w2
w2。取消保護PWord1
下壹個w2
Exit Do 'Bypass all for...下壹步
如果…就會結束
下壹頁:下壹頁:下壹頁:下壹頁:下壹頁:下壹頁
下壹頁:下壹頁:下壹頁:下壹頁:下壹頁:下壹頁
循環直到真
出錯時轉到0
如果…就會結束
以…結尾
下壹個w1
如果…就會結束
MsgBox ALLCLEAR & amp作者& amp版本& ampREPBACK,vbInformation,標題
末端接頭
6.關閉編輯窗口。
7.工具-宏-宏,選擇AllInternalPasswords,運行,確認兩次,等待2分鐘,然後確認完成操作。