ファイルをパスワード設定して上書き保存する関数
タイトルのマクロは、以下です。
'*****************************************
'* ファイルをパスワード設定して上書き保存する関数
'* ファイルパスとパスワードを引数として受け取る
'* 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ファイルにパスワードを設定することができます。実際の使用シナリオに応じてファイルパスとパスワードを変更するだけで、このマクロを他のファイルにも適用できます。