こんにちは、RPAライターのやまもとてつやです。
- ExcelVBAを使ってパスワードを設定したい。
今日はこんな疑問にお答えします。
このブログでは、OutlookVBAを中心に様々なVBAコードを紹介しています。
実際、僕もメールの自動化からVBAを始めて以来、いろんな業務を自動化してきました。
その中で、セキュリティ関連の仕事でファイルにパスワードを設定するという業務があります。
内容もシンプルで、添付ファイルに任意のパスワードをつけるというものですが、そんなことできるのか知りたいのではないでしょうか。
実は、たった1つの関数を使えば設定可能なんです。
そこで当記事では、ExcelVBAを使ってファイルにパスワードを設定する方法を解説します。
ぜひご一読ください。
- ExcelVBAを使ってファイルにパスワードをかけられる。
Excelファイルには2種類のパスワードが存在する
前提として、Excelのパスワードには以下の2つがあります。
- 読み取りパスワード
- 書き込みパスワード
読み取りパスワードは、関係者だけファイルを閲覧できるようにしたいときに使います。
書き込みパスワードは、関係者以外にファイルを編集できないようにするときに使うパスワードです。
SaveAsの引数でパスワード設定をする。
ファイルにパスワード設定するにはSaveAsメソッドを使います。
引数を設定する際、以下のどちらかを設定しましょう。
- 読み込みパスワード:password
- 書き込みパスワード:WriteResPassword
なお、どちらの場合も15文字以内の文字列という決まりがあるので注意が必要です。
ファイルにパスワードを自動設定する。
以下はコード例です。
dim FileName as string
dim PassCord as string
FileName = "任意の文字列"
PassCord = "任意の文字列"
Workbooks.add
with activeworkbook
.saveas FileName ,password:=PassCord
.close
end with
新規でブックを作成してからFileNameで保存し、ファイルを閉じるというコードです。
閉じたファイルを開こうとするとPassCordで設定したパスワードが要求されます。
単純なコードですが、これを起点にいろいろと応用してみましょう。
まとめ
今日はExcelVBAでファイルにパスワードを設定する方法を書いてみました。
使う場面は限定的だが、もし良かったら使ってみてください。」