ファイルをパスワード設定して上書き保存する関数
タイトルのマクロは、以下です。
'*****************************************
'* ファイルをパスワード設定して上書き保存する関数
'* ファイルパスとパスワードを引数として受け取る
'* 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- 引数:
filePath:パスワードを設定するファイルのパス。myPassword:設定するパスワード。
- ワークブックを開く:
' 引数として渡されたファイルパスを開く
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) を渡します。
全体の流れ
使用例サブルーチンが実行されると、ファイルパスとパスワードが設定されます。SetPasswordToFile関数が呼び出され、指定されたファイルを開きます。- 開いたファイルに対してパスワードが設定されます。
- 設定されたパスワードを含むファイルが上書き保存され、ファイルは閉じられます。
このマクロにより、簡単に任意のExcelファイルにパスワードを設定することができます。実際の使用シナリオに応じてファイルパスとパスワードを変更するだけで、このマクロを他のファイルにも適用できます。


