パスワードを設定する箇所を説明する為、ここでは、簡単にインプットボックスでパスワードを指定していますが、実際にはユーザーフォームでパスワードを見えない状態「*********」のようにしながら設定しています。

Sub CloseTest()

    Dim strMyPass As String
    
    strMyPass = InputBox("新しいパスワードを入力", "パスワード変更")
    
    If strMyPass = "" Then Exit Sub
    
    Application.DisplayAlerts = False
    ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & ThisWorkbook.Name, Password:=strMyPass
    ThisWorkbook.Close savechanges:=False
    Application.DisplayAlerts = True

End Sub

名前を付けて保存 SaveAs にパスワード設定の引数があります。
同じファイル名に保存する場合も、SaveAs を使い、その後 Close しています。
上書き保存のアラートを出さないよう、DisplayAlertsはFslseにし、最後に戻しています。
一度、名前を付けて保存しているので、Close時は保存せずに終了しています。

作成時に作ったパスワードを、ユーザーに好きなパスワードに変更してもらう時に使うマクロです。


 ↓ facebook のフォローで応援してください。お願いします。



Microsoft Office ブログランキングへ