- Home ›
- Excel VBA入門 ›
- ブックの作成と保存
読み取りパスワードを付けて保存
名前を付けて保存する際に、読み取りパスワードを設定することができます。読み取りパスワードを設定すると、ファイルを開こうとした時にパスワードの入力が求められます。パスワード入力に失敗した場合は、ファイルを開く事ができません。ここでは Excel VBA でブックを読み取りパスワードを付けて保存する方法について解説します。
(Last modified: )
読み取りパスワードを付けて保存する
読み取りパスワードを付けて保存するには「SaveAs」メソッドの引数に「Password」を設定します。
Dim book1 As Workbook Set book1 = Workbooks("VBAsample.xls") book1.SaveAs Filename:="C:¥excelsample¥OtherFile.xls", _ Password:="pass"
パスワードには15文字以内の文字列を指定します。
一度パスワードを設定したファイルに対してパスワードを解除するには空の文字列を指定して保存します。
Dim book1 As Workbook Set book1 = Workbooks("VBAsample.xls") book1.SaveAs Filename:="C:¥excelsample¥OtherFile.xls", _ Password:=""
サンプルプログラム
では簡単なサンプルで試してみましょう。
Sub テスト() Dim book1 As Workbook Workbooks.Open filename:="C:¥excelsample¥2005年成績.xls" ActiveSheet.Range("A1").Value = "保存" Set book1 = ActiveWorkbook book1.SaveAs filename:="C:¥excelsample¥2005年成績(保存).xls", _ Password:="pass" book1.Close Workbooks.Open filename:="C:¥excelsample¥2005年成績(保存).xls" End Sub
上記マクロを実行すると、「2005年成績.xls」と言うブックを開いた後でセルA1に文字をセットした後、「2005年成績(保存).xls」という別の名前でブックを保存します。その際に読み取りパスワードが設定されています。改めて「2005年成績(保存).xls」というブックを開こうとしますが、パスワードが設定されているので次のように表示されます。
パスワードを入力できれば、ブックを開くことができます。
パスワードの入力に失敗したり、「キャンセル」ボタンをクリックするとエラーとなります。
-- --
Excel VBA でブックを読み取りパスワードを付けて保存する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。