Attribute VB_Name = "Module1" '■ マクロ500連発<第2段> ' ' VBProjectのパスワードを解除する(Excel画面版) ' ' Copyright(C) 2000 Sunago ' Option Explicit '/* Excel画面から実行するマクロ */ Sub macUnProtectVBProject() 'このマクロはExcel上から実行します。動作確認は十分に行っておりますが、 '予期しない動作となるケースもあるため、必ずブックのバックアップを '取ったものに対して実行してください。 Dim r Dim i Const CMODULE = "Module1" '任意のVBComponent(モジュール名等)を指定 If ActiveWorkbook.Name <> ThisWorkbook.FullName Then ThisWorkbook.Activate End If SendKeys "%{F11}" DoEvents If Application.VBE.ActiveWindow.Type = 0 Then MsgBox "コード ウィンドウがアクティブな時は実行できません" _ & vbCr & "VBEMode用のマクロを実行してください" Application.VBE.ActiveWindow.Close End End If With Application.VBE.ActiveVBProject r = .Protection If r <> 0 Then SendKeys "%TE" SendKeys "PASS{ENTER}{ESC}" ' PASS := パスワード DoEvents End If '任意のVBComponentsをアクティブにする For i = .VBComponents.Count To 1 Step -1 If .VBComponents(i).Name = CMODULE Then .VBComponents(i).Activate Exit For End If Next End With End End Sub