つれづれ電脳記(日くらしPCに向かひて)

つれづれなるままに、日くらしPCに向かひて、その悪戦苦闘ぶりをそこはかとなく書き付くるおじさん。たまに雑談[管理人:goosyun]

つれづれなるままに、日くらしPCに向かひて、デジタル関係の悪戦苦闘ぶりをそこはかとなく書き付くるおじさんです。
たまに雑談してます。連絡・問い合わせフォームは、ページ最下部に置いています。[著者(運営人):goosyun]

(当ブログには本文中に広告リンクが含まれています。)

エクセルVBAでzipファイル解凍の自動化


 日本郵便のWebサイトで提供されている郵便番号CSVデータは、zip形式圧縮されています。
 zip形式なので、Windowsの標準機能を使って解凍(展開)ができます。つまり、特別な解凍ソフトを用意する必要はありません。
 けれども、全都道府県分の47個のファイルを、一つ一つ手作業で解凍するのは、ちょっと面倒です。そこで、VBAマクロ自動化することにしました。

 郵便番号データの活用については、
   ⇒ こちらの記事をご覧ください。
 解凍自動化の方策をBing AI チャットで調べた結果は、
   こちらの記事をご覧ください。


 Microsoftの Bing AI(人工知能)が呈示してくれたVBAコード、CopyHereメソッドは、私は使用しない、採らないこととしました。zipの扱いにおいては動作に不安がある、との情報を見かけたからです。
 
 そこで、別の方法を採ることにしました。

 Googleで検索すると、とても親切なWebサイトが見つかりました。
  「Excel作業をVBAで効率化
という、Webサイトです。
 このサイトですが、どうも個人の方が一人だけで、独力開設しているサイトのようです。なお、作者の詳細は掲載されておらず、不詳です。





 分かりやすい解説文を、非常に丁寧に記述されています。
 世の中には、このように親切なWebサイトを作って、一般に提供されてる方がいらっしゃるんですね。感心してしまいます。

 「Excel作業をVBAで効率化
という、目立たない、ごくありふれたタイトル名のサイトではありますが、検索上位に引っ掛かります。検索上位にランクされているということは、内容がすばらしい証しでしょう。

 そのサイトにおいては、VBAから PowerShell 機能を呼び出して、zipファイルを解凍する方法を紹介しています。
 VBAでzip解凍するにも、いくつか方法がありますが、Windowsの標準の機能 PowerShellVBAから呼び出して実行するわけです。
 
  PowerShell とは、コマンドつまりテキスト入力の方法によってPC、OSの動作制御を行えるソフトウェアです。よく、「キャラクターインターフェース」「コマンドラインインターフェース」って言われてるやつです。
 むつかしい言葉で説明すると「マイクロソフトにより開発されたスクリプト言語とその実行環境」っていうことになります。
 
 上記の「Excel作業をVBAで効率化」サイト
においては、PowerShell を利用したVBAコードも掲載して、一般提供しています。
 私も、そのVBAコードを利用させてもらうことにしました。

 これにより、zipファイル解凍(展開)が自動化され、ボタンのクリック一つで実行できるようになりました。ありがたいことです。感謝しています。




それでは、また次の記事で
goosyun


《2023年5月28日追記》
 マクロコードの編集で、47個のzipが一気に解凍できます。
  こちらの記事をご覧ください。