同じフォルダの中にあるパスワードが同じエクセルのパスワードを
インプットボックスに一回入力するだけで一括して解除するマクロ
Sub パスワード一括解除() Dim FolderPath As String Dim Password As String Dim Filename As String Dim wb As Workbook ' フォルダパスと今のパスワードを設定 FolderPath = ThisWorkbook.Path & "\" Password = InputBox("パスワードを入力してください") 'アラートを消す Application.DisplayAlerts = False ' フォルダ内のすべてのExcelファイルに対して処理を実行 Filename = Dir(FolderPath & "*.xlsx") ' 拡張子がxlsxのファイルを取得 Do While Filename <> "" Set wb = Workbooks.Open(FolderPath & Filename, Password:=Password) wb.SaveAs FolderPath & Filename, Password:="" wb.Close SaveChanges:=False Filename = Dir Loop 'アラートの設定を戻す Application.DisplayAlerts = True MsgBox "パスワード解除完了" End Sub
注意点
- フォルダ内の全てのエクセルが同じパスワードの場合のみ有効
- パスワードを間違えるとエラーになる