任意のExcelファイルにパスワードを設定して保存する方法を解説します。
任意のファイルにパスワードをつけて保存
このVBAコードは、アクティブなExcelブックを指定した場所に、指定した名前で保存する際にパスワードを付けるためのコードです。
Sub 任意のフォルダにパスワードをつけて保存する()
ActiveWorkbook.SaveAs _
FileName:="C:\Users\user\Documents\保存ファイル", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
Password:="password", _
WriteResPassword:="password1", _
ReadOnlyRecommended:=True
End Sub
解説
- ActiveWorkbook.SaveAs
- アクティブなExcelブックを保存するためのメソッドです。
- FileName:=”C:\Users\user\Documents\保存ファイル
- ファイルを保存する場所と名前を指定します。上記の例では、ユーザーのドキュメントフォルダ内の「保存ファイル」という名前のファイルに保存します。拡張子は自動的に付与されます。
- FileFormat:=xlOpenXMLWorkbookMacroEnabled
- ファイルの形式を指定します。ここでは「xlOpenXMLWorkbookMacroEnabled」という形式を指定しています。これは、マクロを含むExcelファイルを保存するための形式です。
- Password:=”password”
- 保存するファイルに設定するパスワードを指定します。「password」の部分に任意のパスワードを指定できます。
- WriteResPassword:=”password1
- 読み取り専用のパスワードを指定します。「password1」の部分に任意のパスワードを指定できます。
- ReadOnlyRecommended:=True
- このオプションをTrueに設定することで、ファイルが読み取り専用で開かれるときに、ユーザーに読み取り専用モードで開くかどうかを確認するダイアログボックスが表示されます。デフォルトはFalseです。
このVBAコードは、アクティブなExcelブックを指定したフォルダに指定した名前で保存し、読み取り専用のパスワードを設定し、さらにファイルを開く際に読み取り専用モードを確認するように設定することができます。
任意のファイルにパスワードをつけて保存(Part2)
Sub SaveWithPassword()
Dim filePath As String
Dim password As String
filePath = "C:\「ファイルパスを指定」.xlsx"
password = "password123"
Dim wb As Workbook
Set wb = Workbooks.Open(filePath)
wb.SaveAs Filename:=filePath, Password:=password
wb.Close
End Sub
解説
- まず、保存するファイルのパスとパスワードを指定します。以下の例では、保存するファイルのパスを「C:\example\example.xlsx」とし、パスワードを「password123」としています。
- 次に、保存するファイルを開きます。
Workbooks.Open
メソッドを使用してファイルを開くと、そのファイルがアクティブなブックになります。 - 開いたファイルにパスワードを設定します。
wb.SaveAs
メソッドを使用して、Password
引数にパスワードを指定します。 - 最後に、ファイルを閉じます。
コメント