見出し画像

パソコン悪戦苦闘記録

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

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




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


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

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「VBAプログラミング・マクロ」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事