ブックにパスワードが設定されているか確認

指定のブックファイルにパスワードが設定されているかを確認する。

VBAで指定したブックファイルにパスワード設定がされているかを確認します。

パスワード設定の有無チェックにはWorkbooks.Openメソッドの引数(Password)にブランクを指定した状態でExcelファイルを開き、その戻り値がNothingであればパスワードの設定ありと判定しています。
ただしNothingの場合はオブジェクトを取得できていない状態となり、通常の処理ではエラーとなるので エラー発生時は Resume Next で処理を継続させています。

'******************************************************************
' Excelファイルのパスワード設定確認
'*****************************************************************
Sub chkBookFilePwd()

    'チェック対象のファイルを指定
    Dim sChkBook As String
    sChkBook = "C:\VBA\Passwordチェック.xlsx"
    
    On Error Resume Next
    Dim oWb As Object

    'パスワードに""を設定してファイルを開く
    Set oWb = Application.Workbooks.Open(sChkBook, Password:="")
    On Error GoTo 0
    
    Dim sWbPwLock  As String
    If oWb Is Nothing Then
        Debug.Print sChkBook & " -> パスワード設定あり"
    Else
        Debug.Print sChkBook & " -> パスワード設定なし"
        
        Application.DisplayAlerts = False
        oWb.Close (False)
        Set oWb = Nothing
        Application.DisplayAlerts = True
    End If
    
End Sub

 ■実行結果