2016-07-01 35 views
2

我需要完成一項涉及從大量工作簿中整理數據的任務,我已將它們全部放在同一個文件夾中,並且都是* xlsm文件。 我已經有一個宏來抓取每張紙上的數據,並將其全部輸入到主紙張上,就像我以前做過的那樣。在每個打開的WB中循環遍歷每個WS並取消保護

如何過每片現密碼保護來限制用戶,我需要:

- 打開每個工作簿 -loop通過每片並用密碼來解鎖(「我有」)

目前下面的代碼打開每個工作簿並解鎖當前處於活動狀態的工作簿,但不會循環顯示每個打開的工作簿。

Sub OpenFiles() 
Dim MyFolder As String 
Dim MyFile As String 
Dim wb As Workbook 
Dim ws As Worksheet 
Dim pwd As String 

pwd = "password" 

'_______Opens every excel file in folder_______ 

MyFolder = "Test" 

MyFile = Dir(MyFolder & "\*.xlsm") 
Do While MyFile <> "" 
Workbooks.Open Filename:=MyFolder & "\" & MyFile 
MyFile = Dir 
Loop 

For Each wb In Application.Workbooks 
    For Each ws In Worksheets 
     ws.Unprotect Password:=pwd 
    Next ws 
Next wb 

End Sub 

謝謝

回答

3

這是你在找什麼?

Option Explicit 

Public Sub tmpSO() 

Dim wb As Workbook 
Dim ws As Worksheet 

For Each wb In Application.Workbooks 
    For Each ws In wb.Worksheets 
     ws.Unprotect "Which I have" 
    Next ws 
Next wb 

End Sub 
+1

這似乎在我的測試文件夾上完美工作,謝謝 –

相關問題