指定のブックファイルにパスワードが設定されているかを確認する。
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■実行結果



