我現在要解決的問題是:我有很多excel檔案在同一個檔案夾里,檔案都有一個相同的密碼且我知道,我希望把這些密碼都解除,讓每個excel檔案都變成直接可以打開的檔案。excel檔案里的sheet是沒有密碼的。我在百度知道看到一個代碼,是對本地檔案夾里的excel檔案解密的,但是我按照它的操作沒有成功,希望有高手能夠幫我看看如何修改就能實作我的需求,不勝感激!!!
參考:https://zhidao.baidu.com/question/2117910715489312707.html
————————————————————————————————————————————————
Sub xx()
Dim pth, fn, i, j, n
pth = ThisWorkbook.Path & "\"
fn = Dir(pth & "*.xls")
Do While fn <> ""
If fn <> ThisWorkbook.Name Then
Application.Workbooks.Open pth & fn
n = Workbooks(fn).Sheets.Count
For j = 1 To n
Workbooks(fn).Sheets(j).Unprotect "TZHJTDWIVSBWYKU"
Next
Application.Workbooks(fn).Close True
End If
fn = Dir
Loop
End Sub
新建一個excel檔案,Alt+F11打開VBE,新建一個模塊,復制上面的代碼,退出VBE,把excel檔案保存到要解密的檔案夾,執行宏xx
_______________________________________________________________________________________________________________________
uj5u.com熱心網友回復:
錄制一個宏,然后修改一下,回圈遍歷所有檔案就是了uj5u.com熱心網友回復:
解除密碼,是excel一開始的事情,所以不知道后面錄制對前面解密有沒有用,然后請問上面代碼有問題嗎?
uj5u.com熱心網友回復:
首先,你的代碼是對 sheet的 Unprotect操作,而不是對 Workbook 的 Unprotect操作。具體的應該是 Workbook.Unprotect方法。其次,Workbook.Unprotect 洗掉表或作業簿的保護。你要輸入密碼打開這個workbook,才能 Unprotect
Application.Workbooks.Open pth & fn, Password:="TZHJTDWIVSBWYKU"
uj5u.com熱心網友回復:
Sub xx()Dim pth, fn, i, j, n
pth = ThisWorkbook.Path & "\"
fn = Dir(pth & "*.xls")
Do While fn <> ""
If fn <> ThisWorkbook.Name Then
Application.Workbooks.Open pth & fn, , , , "作業薄密碼"
Workbooks(fn).Unprotect "作業薄密碼"
Application.Workbooks(fn).Close True
End If
fn = Dir
Loop
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/38689.html
標籤:VBA
上一篇:資料庫內資料統計問題
下一篇:聊聊大家手上都有哪些代碼模塊?
