ExcelVBAでファイルにパスワードを設定してみる

vba-file-password

こんにちは、RPAライターのやまもとてつやです。

  • ExcelVBAを使ってパスワードを設定したい。

今日はこんな疑問にお答えします。

このブログでは、OutlookVBAを中心に様々なVBAコードを紹介しています。

実際、僕もメールの自動化からVBAを始めて以来、いろんな業務を自動化してきました。

その中で、セキュリティ関連の仕事でファイルにパスワードを設定するという業務があります。

内容もシンプルで、添付ファイルに任意のパスワードをつけるというものですが、そんなことできるのか知りたいのではないでしょうか。

実は、たった1つの関数を使えば設定可能なんです。

そこで当記事では、ExcelVBAを使ってファイルにパスワードを設定する方法を解説します。

ぜひご一読ください。

この記事でわかること(メリット)
  • ExcelVBAを使ってファイルにパスワードをかけられる。
目次

Excelファイルには2種類のパスワードが存在する

前提として、Excelのパスワードには以下の2つがあります。

Excelのパスワード
  • 読み取りパスワード
  • 書き込みパスワード

読み取りパスワードは、関係者だけファイルを閲覧できるようにしたいときに使います。

書き込みパスワードは、関係者以外にファイルを編集できないようにするときに使うパスワードです。

SaveAsの引数でパスワード設定をする。

ファイルにパスワード設定するには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でファイルにパスワードを設定する方法を書いてみました。

使う場面は限定的だが、もし良かったら使ってみてください。」

  • URLをコピーしました!

運営者プロフィール

やまもとてつやのアバター やまもとてつや RPAライター

2021年10月にライター活動開始。
得意ジャンルはIT(Windows・RPA)と金融(保険・仮想通貨)。
SEOライティングとSNS運用を中心に活動中で、最近は念願だった電子書籍の執筆・編集も担当。
AI以上に正確で格調高い文章が書けると評価をいただいています。

目次