見出し画像

パソコン悪戦苦闘記録

処理単位ごとにサブルーチン化するVBAテクニック

 zip圧縮ファイルの解凍作業を自動化するために、
  「Excel作業をVBAで効率化」
というサイトに掲載され、一般向けに提供されている Excel VBAマクロのコードを利用させてもらいました。

 上記サイトの紹介記事は、
  こちらをご覧ください。

 上記サイトで提供されているVBAコードにおいては、
 解凍処理の本体部分は「解凍関数」として独立させ、別個のプロシージャとしています。

 その「解凍関数」を、別のプロシージャから呼び出す仕組みになっています。
 呼び出し元のプロシージャ中に、「解凍関数」名が記述されており、それによってその関数が呼び出されて解凍処理を行い、その処理結果(解凍処理がうまく完了したか、失敗したか)を、呼び出し元に返します。
 処理の一部をサブルーチン化するテクニックです。
 
 そのように、なかなか洗練された作りになっています。
 大きなプロシージャを一つ作成するよりも、処理単位ごとに小分けして、独立のプロシージャとして作成することには、たくさんのメリットがあります。

 そのメリットの一つが、処理本体部分には一切手を加えることなく、入り口となる呼び出し元プロシージャを、各自の必要に応じて、自由に編集できる、というものがあります。
 今回、私も、そのメリットを享受させてもらいました。

 入口となる親プロシージャを編集して、47個のzipファイル(47都道府県の郵便番号zipデータ)を、一気に解凍できるようにしました。

 一応の参考として、私が書いたVBAコードを掲載しておきます。




 素人が書いたコードなので、修正した方がよいところがあるかもしれません。もし、そうした箇所があれば、やさしいコメントをお願いします(厳しい語調での指弾は、勘弁してください。)。




それでは、また次の記事で
goosyun
名前:
コメント:

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

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

 

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

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

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