ファイルをパスワード設定して上書き保存する関数

タイトルのマクロは、以下です。

'*****************************************
'* ファイルをパスワード設定して上書き保存する関数
'* ファイルパスとパスワードを引数として受け取る
'* filePath:パスワードを設定するファイルのパス
'* myPassword:設定するパスワード
Sub SetPasswordToFile(ByVal filePath As String, ByVal myPassword As String)

    ' 引数として渡されたファイルパスを開く
    Dim Workbook As Workbook
    Set Workbook = Workbooks.Open(filePath)

    ' ワークブックのパスワードを設定
    Workbook.password = myPassword

    ' 上書き保存してワークブックを閉じる
    Workbook.Close SaveChanges:=True
End Sub

Sub 使用例()

    ' ファイルパスとパスワードを定義
    Dim filePath As String
    filePath = "H:\temp\test.xlsx"
    Dim password As String
    password = "pw"

    ' `SetPasswordToFile` 関数を使って、指定したファイルにパスワードを設定
    Call SetPasswordToFile(filePath, password)

End Sub

このVBAマクロは、指定したExcelファイルにパスワードを設定して上書き保存する機能を提供します。具体的に、二つの部分に分かれています: メインの処理を行う SetPasswordToFile 関数と、その関数を呼び出す 使用例 サブルーチンです。以下、各部分を詳しく解説します。

SetPasswordToFile 関数

'*****************************************
'* ファイルをパスワード設定して上書き保存する関数
'* ファイルパスとパスワードを引数として受け取る
'* filePath:パスワードを設定するファイルのパス
'* myPassword:設定するパスワード
Sub SetPasswordToFile(ByVal filePath As String, ByVal myPassword As String)

    ' 引数として渡されたファイルパスを開く
    Dim Workbook As Workbook
    Set Workbook = Workbooks.Open(filePath)

    ' ワークブックのパスワードを設定
    Workbook.password = myPassword

    ' 上書き保存してワークブックを閉じる
    Workbook.Close SaveChanges:=True
End Sub
  1. 引数:
    • filePath:パスワードを設定するファイルのパス。
    • myPassword:設定するパスワード。
  2. ワークブックを開く:
    ' 引数として渡されたファイルパスを開く
    Dim Workbook As Workbook
    Set Workbook = Workbooks.Open(filePath)
  • 指定されたファイルパスのワークブックを開きます。
  • Workbook という変数に開いたワークブックを格納します。

パスワードの設定:

    ' ワークブックのパスワードを設定
    Workbook.password = myPassword
  • 開いたワークブックに対してパスワードを設定します。
  • この設定により、次回からファイルを開く際にパスワードが必要になります。

上書き保存と閉じる:

    ' 上書き保存してワークブックを閉じる
    Workbook.Close SaveChanges:=True
  • ワークブックを上書き保存して閉じます。
  • SaveChanges:=True により、変更内容を保存します。

使用例 サブルーチン

Sub 使用例()

    ' ファイルパスとパスワードを定義
    Dim filePath As String
    filePath = "H:\temp\test.xlsx"
    Dim password As String
    password = "pw"

    ' `SetPasswordToFile` 関数を使って、指定したファイルにパスワードを設定
    Call SetPasswordToFile(filePath, password)

End Sub

ファイルパスとパスワードの定義:

    ' ファイルパスとパスワードを定義
    Dim filePath As String
    filePath = "H:\temp\test.xlsx"
    Dim password As String
    password = "pw"
  • パスワードを設定する対象ファイルのパスを filePath に設定します。
  • 設定するパスワードを password に設定します。

関数呼び出し:

    ' `SetPasswordToFile` 関数を使って、指定したファイルにパスワードを設定
    Call SetPasswordToFile(filePath, password)
  • SetPasswordToFile 関数を呼び出し、指定したファイルにパスワードを設定します。
  • 引数として、ファイルパス (filePath) とパスワード (password) を渡します。

全体の流れ

  1. 使用例 サブルーチンが実行されると、ファイルパスとパスワードが設定されます。
  2. SetPasswordToFile 関数が呼び出され、指定されたファイルを開きます。
  3. 開いたファイルに対してパスワードが設定されます。
  4. 設定されたパスワードを含むファイルが上書き保存され、ファイルは閉じられます。

このマクロにより、簡単に任意のExcelファイルにパスワードを設定することができます。実際の使用シナリオに応じてファイルパスとパスワードを変更するだけで、このマクロを他のファイルにも適用できます。

Follow me!