この記事では、EXCELに暗号化パスワードを設定する方法について説明しています。
しかも、フォルダに存在するEXCELファイルすべてに対して、暗号化パスワード設定が可能です。
1ファイルずつ暗号化パスワードを設定するのは、結構手間です。
それでは、EXCELに暗号化パスワードを設定する機能を作成していきましょう。
困っている女性
困っている女性
解決する男性
困っている女性
EXCELに設定されている暗号化パスワードを解除する機能については、以下の記事を参照してください。
【EXCEL:VBA】EXCELファイルに設定されている暗号化パスワードを解除したい
まずは、手動でEXCELファイルに暗号化パスワードを設定する方法を説明します。
もくじ
1.手動でEXCELファイルに暗号化パスワードを設定する方法
「ファイル」タブの「情報」欄を開きます。
そして、「ブックの保護」をクリックします。
次に、「パスワードを使用して暗号化」をクリックします。
暗号化パスワードを入力するダイアログが表示されます。
パスワードを入力して、OKボタンをクリックします。
暗号化パスワードを設定すると、以下の表示になります。
あとは、EXCELファイルを保存するだけです。
2.暗号化パスワードを設定されているEXCELファイルの開き方
それでは、暗号化パスワードが設定されているEXCELファイルの開き方を説明します。
EXCELファイルを開こうとすると、パスワード入力ダイアログが表示されます。
パスワードを入力して、OKボタンをクリックします。
パスワードが合っていれば、EXCELファイルが開きます。
しかし、パスワードが間違っていると、EXCELファイルを開くことはできません。
3.暗号化パスワードを設定されているEXCELファイルの解除の仕方
暗号化パスワードを毎回入力すれば、EXCELファイルを開くことができます。
しかし、暗号化パスワードなしでEXCELファイルを開きたくなった場合は、暗号化パスワード設定を解除する必要があります。
暗号化パスワード設定を解除すれば、次回からEXCELファイルを開くときにパスワードが聞かれなくなります。
「ブックの保護」をクリックします。
「パスワードを使用して暗号化」をクリックします。
パスワードが入力されたダイアログが表示されます。
入力されているパスワードを消去して、OKボタンをクリックします。
あとは、ファイルを保存するだけです。
それでは、EXCELに暗号化パスワードを設定する機能に必要なものを順番に説明します。
4.対象フォルダパスと暗号化パスワードを指定するシートを作成する
まず、「対象フォルダパス」、「暗号化パスワード」を指定する欄を作成します。
「メイン」シートを作成する
- 「メイン」という名前のシートを作成します。
- 1行目に「対象フォルダパス」、「暗号化パスワード」のタイトル行を作成します。
- 2行目に「対象フォルダパス」、「暗号化パスワード」を入力する欄を作成します。
「対象フォルダパス」には、暗号化パスワードを設定したいEXCELファイルが保存されているフォルダを入力します。
5.VBAでEXCELに暗号化パスワードを設定する機能を記入する
「Microsoft Visual Basic for Applications」を起動します。
標準モジュールを追加して、以下のソースを書きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
Public Sub MainProc() Dim folderPath As String Dim pass As String Dim fso As Object Dim f As Variant Dim ext As String Dim wb As Workbook '①「対象フォルダパス」を変数に格納する folderPath = ThisWorkbook.Sheets("メイン").Range("A2") '②「暗号化パスワード」を変数に格納する pass = ThisWorkbook.Sheets("メイン").Range("B2") '③FileSystemObjectを生成する Set fso = CreateObject("Scripting.FileSystemObject") '④確認メッセージを非表示に設定する Application.DisplayAlerts = False '⑤対象フォルダに存在するファイル数分処理する For Each f In fso.GetFolder(folderPath).Files '⑥ファイルの拡張子を変数に格納する ext = LCase(fso.getextensionName(f.Name)) '⑦拡張子が「xlsx」または「xlsm」のみ処理を行う If ext = "xlsx" Or ext = "xlsm" Then '⑧対象ファイルを開く Set wb = Workbooks.Open(folderPath & "\" & f.Name) '⑨対象ファイルに暗号化パスワードを設定して保存する wb.SaveAs folderPath & "\" & f.Name, Password:=pass '⑩対象ファイルを閉じる wb.Close '⑪メモリを解放する Set wb = Nothing End If Next '⑫確認メッセージを表示に設定する Application.DisplayAlerts = True '⑬メモリを解放する Set fso = Nothing MsgBox "完了" End Sub |
6.EXCELに暗号化パスワードを設定する機能の使い方
それでは、EXCELに暗号化パスワードを設定する方法を説明します。
暗号化パスワードを設定したいファイルを準備する
まず、暗号化パスワードを設定したいEXCELファイルを1つのフォルダに準備します。
ちなみに、まだ暗号化パスワードを設定されていないEXCELファイルにしてください。
また、拡張子が「xlsx」または「xlsm」のEXCELファイルを準備してください。
「対象フォルダパス」と「暗号化パスワード」を入力する
「メイン」シートのA2セルに「対象フォルダパス」、B2セルに「暗号化パスワード」を入力します。
対象フォルダパスと暗号化パスワードを入力する
マクロを実行する
次に、「開発」タブの「マクロ」をクリックします。
先程作成した自作関数「MainProc」が一覧に表示されていますので、選択します。
次に、「実行」ボタンをクリックして暗号化パスワード設定を開始します。
少し待つと、処理が完了します。
指定された「対象フォルダパス」に同じ名前でEXCELファイルを保存します。
暗号化パスワードが設定されたEXCELファイルを開こうとすると、以下のパスワード入力ダイアログが表示されます。
指定した「対象フォルダパス」に存在するEXCELファイルに、暗号化パスワードが設定されていることを確認できます。
どうですか、簡単でしょ。
EXCELファイルに設定されている暗号化パスワードを解除する機能も合わせて、利用するとさらに便利になりますので、ぜひどうぞ。
【EXCEL:VBA】EXCELファイルに設定されている暗号化パスワードを解除したい
7.EXCELファイルに暗号化パスワードを設定するVBAプログラムの説明
それでは、VBAプログラムを説明します。
①「対象フォルダパス」を変数に格納する
1 2 |
'①「対象フォルダパス」を変数に格納する folderPath = ThisWorkbook.Sheets("メイン").Range("A2") |
②「暗号化パスワード」を変数に格納する
1 2 |
'②「暗号化パスワード」を変数に格納する pass = ThisWorkbook.Sheets("メイン").Range("B2") |
③FileSystemObjectを生成する
1 2 |
'③FileSystemObjectを生成する Set fso = CreateObject("Scripting.FileSystemObject") |
ファイル操作やフォルダ操作するとき、よく利用するライブラリです。
④確認メッセージを非表示に設定する
1 2 |
'④確認メッセージを非表示に設定する Application.DisplayAlerts = False |
⑤対象フォルダに存在するファイル数分処理する
1 2 |
'⑤対象フォルダに存在するファイル数分処理する For Each f In fso.GetFolder(folderPath).Files |
⑥ファイルの拡張子を変数に格納する
1 2 |
'⑥ファイルの拡張子を変数に格納する ext = LCase(fso.getextensionName(f.Name)) |
⑦拡張子が「xlsx」または「xlsm」のみ処理を行う
1 2 |
'⑦拡張子が「xlsx」または「xlsm」のみ処理を行う If ext = "xlsx" Or ext = "xlsm" Then |
同じ場合、暗号化パスワード設定処理を行います。
異なる場合、暗号化パスワード設定処理は行いません。
⑧対象ファイルを開く
1 2 |
'⑧対象ファイルを開く Set wb = Workbooks.Open(folderPath & "\" & f.Name) |
⑨対象ファイルに暗号化パスワードを設定して保存する
1 2 |
'⑨対象ファイルに暗号化パスワードを設定して保存する wb.SaveAs folderPath & "\" & f.Name, Password:=pass |
⑩対象ファイルを閉じる
1 2 |
'⑩対象ファイルを閉じる wb.Close |
⑪メモリを解放する
1 2 |
'⑪メモリを解放する Set wb = Nothing |
⑫確認メッセージを表示に設定する
1 2 |
'⑫確認メッセージを表示に設定する Application.DisplayAlerts = True |
処理が完了したので、元に戻しています。
⑬メモリを解放する
1 2 |
'⑬メモリを解放する Set fso = Nothing |
それでは、お好きなEXCELに、お好きな暗号化パスワードを設定してみましょう。
以上です。
最後まで読んでいただきありがとうございました。
この記事をシェアしていただけると喜びます。