エクセルVBAで新規ファイルを作成しパスワードを設定する方法【読み取り用と書き込み用】

みなさん、こんにちはケンケンです。

 

エクセルを使ったパスワード設定についてあれこれ語っています。

前回の記事はこちらです。

前回まででエクセルのパスワード設定や関数を使った乱数の発生の仕方を紹介しました。

 

今回は、VBAを使って新規ファイルの作成方法やパスワードを設定する方法を紹介します。

当然プログラミングで制御することが可能です。

 

VBAを使ってパスワード設定

それでは、VBAを使ってファイル作成とパスワード設定方法を紹介していきます。

 

最終的にはエクセルシートに一覧を作成し、その一覧すべてにパスワードをかけるまで挑戦してみます。

それは、次回以降に紹介するつもりなので楽しみにしてください。

 

今回は、パスワード設定の基本です。

 

読み取り用のパスワードを設定する方法

まずは読み取り用から説明します。

読み取り用とは、ファイルを開く際にパスワードを入力する必要があるものです。

 

前提として「パスワード一覧」フォルダを作成し、その中に「パスワード作成」ファイルを用意します。

 

パスワード作成ファイルを開いてVBEを起動(Alt+F11)します。

起動できたらコードを以下のように書いてください。

 

コードの解説をします。

①Workbooksオブジェクトに対しAddメソッドでファイルを生成しています。

さらにそのファイルをSaveAsメソッドを使って名前を付けて保存します。

SaveAsメソッドはFileName・FileFormat・Passwordの引数をとります。他にもありますがここでは割愛します。

FileNameにはファイル名とパスを指定できます。今回はThisWorkbook.Pathで、ファイルが置いてあるフォルダを指定しています。

ThisWorkbook.Pathについてはこちらの記事を参考にしてください。

その次にファイル名を、「Format(Date, “yyyymmdd”) & “_” & Range(“A1”).Value」として、

作成日+A1セルの値にしています。A1セルには「総務部資料」と記入しています。

そして、引数Passwordでパスワードを指定します。文字数の上限は15字です。

今回は「pass」としました。

 

②ActiveWorkbook.Closeで作成されたファイルを閉じることが出来ます。

 

このコードを実行すると、以下のように新規ファイルが作成されます。

 

そして、作成されたファイルを開きます。

すると以下のようにパスワードを要求されるので指定したパスワードを入力するとファイルが開きます。

 

書き込み用のパスワードを指定する方法

続いて書き込み用のパスワードを指定する方法をご紹介します。

これは先ほどのコードを少し変えるだけです。

 

③パスワード設定のコードがPassword:=”pass”からWriteResPassword:=”pass”になっただけです。

先ほど作成したファイルを削除してから実行してください。

作成したファイルを開くと

パスワードを要求されますが、読み取り専用で開くことはできるモードになります。

当然適正なパスワードを入力すると上書き可能になりますね。

 

まとめ

いかがでしたか。

VBAでもパスワードを設定することができました。

 

ただ、複数のファイルにパスワードをかけて管理したいときもありますよね。

次回は複数同時にパスワードを設定する方法をご紹介しますのでお楽しみに!

ではまた次回お会いしましょう。

 

[記事一覧]エクセルでパスワード管理を徹底する方法

エクセルでパスワード管理を徹底する方法【VBA・関数使用】

エクセル関数を使ってパスワード管理をする方法

RANDBETWEEN関数を使ってパスワードを作る方法【エクセル関数】

VBAで新規ファイルを作成しパスワードを設定する方法

VBAで複数のファイルを作成しそのファイルにパスワードを設定する方法

エクセルVBAでRANDBETWEEN関数を使って8桁のパスワードを複数設定する方法

エクセルVBAでファイル作成とパスワード設定を同時に行う方法

 

 

VBAの基礎を学習したい方は以下をどうぞ

【エクセルVBA入門編①】VBAで何ができるのだろうか?

【エクセルVBA入門編②】めんどうな仕事はForNext構文で解決

【エクセルVBA入門編③】繰り返し作業はFor Next構文で完全自動化!

【エクセルVBA入門編⑤】If Then構文で条件分岐をマスター

【エクセルVBA入門編⑥】手順に沿って請求書を作成してみよう【請求書作成自動化】

【エクセルVBA番外編】実務で使えるテクニック紹介します