Excel VBA ツール : フォルダ内の全 Excel ファイルの パスワード を 一括解除 する

Excel VBA

今回は、 フォルダ内の Excel ファイルにかかっている パスワード を 一括解除 するVBAマクロ ツール を作ってみたのでシェアしますね。

 

 

こんにちは、ゆう(@ProgYuki)です。

 

パスワードがかかっているExcelファイルを開く時にいちいちパスワードを入力するのが面倒と思うことってありませんか?

特に子会社等に同じファイルをばら撒いて、データを入力してもらい、それらを回収して集計する時等ファイルが複数ある場合はさらに面倒ですね。

 

私も仕事の中で100社以上から送られてくるパッケージ(Excelファイル)をAlteryxで集計する際にパスワードを解除してないとエラーが発生するので、パスワード解除しておく必要があった時に手作業で100個以上のファイルを開いて、パスワードを解除するなんて面倒すぎてムリ、、、と思った時がありました。

ということで、Excelファイルにかかっているパスワードを一括解除するVBAマクロツールを作ってみましたので、シェアしたいと思います。
 

 

Excel VBA ツール : フォルダ内の全 Excel ファイルの パスワード を 一括解除 する

 

excel-vba-tool-unprotect-password1

 

マクロ ツール の機能、使用用途、使い方

 

 
機能
 

このツールの機能は、

フォルダと解除用パスワードを指定すると、指定されたフォルダ内の全てのExcelファイルのパスワードを一括解除する

というものです。

 
 
使用用途
 

使用用途は、

 

  • パスワードがかかったExcelファイルを複数取り扱う時
  • データ集計用のツール等にExcelファイルを流す時にパスワード解除をしておく必要がある時

 

等を想定しています。

 
 
使い方
 

コードをコピーする場所やプログラムの起動の仕方は後ほど説明しますが、使い方としては、

 

  1. パスワード解除したいExcelファイルを特定のフォルダにまとめておいて
  2. VBAプログラムを起動し、
  3. フォルダを選択し、
  4. 解除用パスワードを入力すると
  5. 指定フォルダ内の全てのExcelファイルのパスワードが解除される

 

という感じです。

*今回のツールでは、解除用パスワードは全ファイルで同一である必要があります。
複数パスワードがある場合は、パスワードの異なるファイル毎にフォルダ分けをして、上記と同様に実行すれば解決できます。

 
 

画像つきで示すと、

 

①パスワード解除したいExcelファイルを特定のフォルダにまとめておいて

 

excel-vba-tool-unprotect-password2

例として、3つのExcelファイルを「test」というフォルダに格納しています。

 

②VBAプログラムを起動し、

 

excel-vba-tool-unprotect-password3

起動の仕方はいろいろとあります。

ご自身でも調べてみると良いと思いますが、一番わかりやすい方法としては、タブの

開発」→「マクロ

と進むと実行できるマクロの一覧が表示されるので、今回は「UnprotectFiles」という名前にしているので、それを選択して「実行」を押せば実行されます。

 

③フォルダを選択し、

 

excel-vba-tool-unprotect-password4

マクロを実行すると、ポップアップが出てくるので、フォルダを指定します。

今回は、「test」というフォルダの中に3つのExcelファイルが入っているので、「test」を選択した状態でOKを押します。

 

④解除用パスワードを入力すると

 

excel-vba-tool-unprotect-password5

次に解除用のパスワードの入力が求められるので、パスワードを入力して、OKを押します。

パスワードは、全ファイルで同一である必要があります

 

⑤指定フォルダ内の全てのExcelファイルのパスワードが解除される

 

excel-vba-tool-unprotect-password6

パスワードが問題なく解除されると上記の通りメッセージが出て、パスワードが解除されます。

 

パスワードが間違っている場合は、下記の通りエラー表示になるようにしています。

excel-vba-tool-unprotect-password7

ちなみに、パスワードがかかってないExcelファイルが混じっていても問題なくプログラムは実行されて、全てのファイルのパスワードが解除されます。

異なるパスワードが設定されているファイルが混じっている場合は、入力した解除用パスワードと異なるところまで処理が実行され、そこでストップし、エラー表示になります。

うまく実行できましたかね?
もし、何かエラー等があれば、コメントかTweetでご連絡いただけると幸いです。

 

VBA コードの表示

 

コードの全文は下記の通りです。

 

一見コードが長く見えますが、

 

  • ‘ ①フォルダの指定
  • ‘ ②解除用パスワードの指定
  • ‘ ③ファイルを一つづつ開き、パスワードを空にして保存

 

と書いてあるコードのブロックがメインです。

 

ちなみに

 

  • どこにコードをコピぺすれば良いのか
  • VBAマクロを実行する上での注意点

 

については、下記の記事で詳しく書いているので、そちらを参考にされてみてください。

 

Excel VBA で 仕事効率化 : リンク付き INDEX を自動作成しExcel資料を読みやすくする!
今回は、 Excel VBA の マクロ 機能で リンク付き INDEX を自動作成し、Excel資料を読みやすくして 仕事効率化 する方法をシェアします!「Excelの仕事を効率化したい!」「VBAに興味があって、人のプログラムを見て学習したい!」という方にとって役に立つ内容かと思います。

 

この記事もツール紹介の記事ですが、「VBA プログラムの表示」の項目の後に詳しいコードのコピペの仕方や注意点について書いてます。

ということで本日は以上になります。

 

 

私もVBA含めプログラミングを学習中の身なので、

もっとこうした方が効率的に書けるよ!
こんな業務効率化したいんだけど、VBAでできるかな?

など、ご指摘やアイディアなどをいただけると嬉しいので、コメントやいただけると幸いです!

 

 

Excel VBAを独学したい方向けに記事を書きましたので、興味がある方はこちらもご参考にされてみてください

 

Excel VBA を最も効率的に 独学 する方法
仕事にルーティン業務が多い方ほどVBAの力を爆発的に発揮して業務効率化できるので、VBAを勉強しようと考えたことがある方も多いのではないでしょうか。今回は私が6年ほど Excel VBA を使っていて最も効率的だと考える 独学 方法をお伝えしたいと思います。

 

 

それでは、本日もお読みいただきありがとうございました。

Twitter(@ProgYuki)でも情報発信しているので、ぜひフォロー、いいね、RT等お願いします!

 

ゆう

コメント

  1. いとうゆうた より:

    VBAでPWを一括解除するプログラム・・・最高でした。
    仕事で100個近いPW付のエクセルファイルをひとつづつ開いて作業していましたが、
    時間もさることながら忍耐力の限界を感じ、こういうVBAが無いかと色々探し
    ゆうさんのブログを見つけました。
    試したところ【最高】でした。すばらしいです。

    VBAはほとんど使ったことがありませんでしたので、ブログで紹介されていたテキストを
    購入し、これから勉強してみようと考えております。
    もう感謝しかありません。
    お礼がしたくてコメントさせていただきました。
    ありがとうございました。そしてこれからも有意義なブログ期待しております。