例文を使って繰り返し業務を時短

【マクロ・VBA】パスワードをつけて任意のファイルに保存

エクセル、マクロ、VBAで任意のフォルダにパスワードをつけて保存する VBA

任意のExcelファイルにパスワードを設定して保存する方法を解説します。

任意のファイルにパスワードをつけて保存

このVBAコードは、アクティブなExcelブックを指定した場所に、指定した名前で保存する際にパスワードを付けるためのコードです。

Sub 任意のフォルダにパスワードをつけて保存する()
 ActiveWorkbook.SaveAs _
  FileName:="C:\Users\user\Documents\保存ファイル", _
  FileFormat:=xlOpenXMLWorkbookMacroEnabled, _
  Password:="password", _
  WriteResPassword:="password1", _
  ReadOnlyRecommended:=True
End Sub 

解説

  1. ActiveWorkbook.SaveAs
    • アクティブなExcelブックを保存するためのメソッドです。
  2. FileName:=”C:\Users\user\Documents\保存ファイル
    • ファイルを保存する場所と名前を指定します。上記の例では、ユーザーのドキュメントフォルダ内の「保存ファイル」という名前のファイルに保存します。拡張子は自動的に付与されます。
  3. FileFormat:=xlOpenXMLWorkbookMacroEnabled
    • ファイルの形式を指定します。ここでは「xlOpenXMLWorkbookMacroEnabled」という形式を指定しています。これは、マクロを含むExcelファイルを保存するための形式です。
  4. Password:=”password”
    • 保存するファイルに設定するパスワードを指定します。「password」の部分に任意のパスワードを指定できます。
  5. WriteResPassword:=”password1
    • 読み取り専用のパスワードを指定します。「password1」の部分に任意のパスワードを指定できます。
  6. 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

解説

  1. まず、保存するファイルのパスとパスワードを指定します。以下の例では、保存するファイルのパスを「C:\example\example.xlsx」とし、パスワードを「password123」としています。
  2. 次に、保存するファイルを開きます。Workbooks.Openメソッドを使用してファイルを開くと、そのファイルがアクティブなブックになります。
  3. 開いたファイルにパスワードを設定します。wb.SaveAsメソッドを使用して、Password引数にパスワードを指定します。
  4. 最後に、ファイルを閉じます。

コメント

タイトルとURLをコピーしました