循环通过每个打开的WB中的每个WS并取消保护

我需要完成一个涉及从大量工作簿中整理数据的任务,我把它们全部放在同一个文件夹中,都是* xlsm文件。 我已经有一个macros来抓取每张纸上的数据,并把它们全部input到一个主纸上,就像我之前做的那样。

如何每张performance在密码保护限制用户,我需要:

– 打开每个工作簿 – 通过每张表回放,并用密码(“我有”)解锁

目前,下面的代码打开每个工作簿,并解锁当前处于活动状态的工作簿,但不会循环显示每个打开的工作簿。

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 

谢谢

这是你想要的?

 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