仕事でExcelのVBAを実際に活用した事例をご紹介します。(体験者の声)

システムエンジニアの例


私がシステムエンジニアとしてERPの画面設計書を作成した時の話です。

私はERPの2時開発メンバーとして配属されました。

が…

そのERP、なんと「設計書が存在しなかった」のです!!

今どき流行りの「アジャイル開発」の弊害でしょうか、ドキュメント作成が後手に回り基本設計書をはじめとしてあらゆる設計書類が存在しないという場面に直面しました。

「基本設計書と画面設計書、書いて頂けませんか?」

…は、はあ…

上司からの「たってのお願い」というか「指示」で配属直後の私が設計書を書くことになりました。

基本設計書と画面設計書の構成

取り敢えず、基本設計書と画面設計書の構成を考えました。

「基本設計書には画面遷移図と画面一覧表を載せてください」

…はい。

「画面設計書はすべてのユーザーインタフェース画面(以下、UI画面)について1部ずつ、画面設計書を書いてください」

…は、はあ…

そこで、私はERPのUI画面をすべて洗い出しました。

…5760画面?

そう、全部で「5760画面」もありました。

Excel「VBA」の登場

上司の話では、画面設計書は書き慣れてくると1部を2時間くらいで書ける様になるそうです。

…2時間×5760画面=11520時間…

…11520時間÷8時間=1440日…

…1440日÷20日=72か月…

…72か月÷12か月=6年!!

…6年もかかるの?

私は絶望感に打ちひしがれました。

そこでExcel「VBA」の登場となりました。

画面設計書作成から15日目


よく見ると、画面レイアウトが同じでも画面遷移が異なるために「別画面」となっている者が殆どだな。

同じレイアウトのものを纏めてしまおう。

同じ画面レイアウトの画面を纏めると、「151種類に集約される」事が分かりました。

151画面なら「やってやれないことはない」ボリュームだ…

という訳で、Wordを起動して151画面分の画面設計書を作りはじめました。

ふぅ…やっとできた…。

画面設計書作成から15日目、151画面分の画面設計書が完成しました。

2時間後、5760画面分の画面設計書が完成

じゃあ、あとはExcelVBAを使って5760画面に展開しよう…

今度はExcelシートに類似した画面の画面番号を列挙して差し込み用のリストを作成しました。

WordにExcelの差し込み設定をしてから、WordにVBAマクロを記述しました。

今回作成のマクロは「差し込み印刷の出力先をWordファイルに変更するマクロ」です。

よし、じゃあ「実行する」ぞ…

エイッ!!

マクロを起動すると、見る見るうちにWord形式の画面設計書が出力されていきます。

…終わった。

2時間後、5760画面分の画面設計書が完成しました。

合計18日で5760画面の画面設計書が完成


Excelのリスト作成からWordマクロの記述、そして実行までが3日間。

合計18日で5760画面の画面設計書が完成しました。

「もうできたのか?」

…ええ。

「…」

上司は声が出なかったのを今でも覚えています。

3日で画面一覧表が完成


「…この調子で画面設計書も頼むよ」

…はい。

画面設計書とは異なり、基本設計書は1部の作成だけですが、5760画面分の画面一覧表と画面遷移図の作成です。

…取り敢えず「画面一覧表」はExcelで書いて貼り付ければ何とかなりそうだ。

まずは画面一覧表を作成しました。

…うん、これでいい。

はじめの3日で画面一覧表が完成し、Wordの基本設計書に貼り付けることが出来ました。

ExcelのVBAで「図形描写」する

…で、次は難題の「画面遷移図」だな…

しかし、Excelに標準搭載されている「SmartArt機能」では5760画面分のフロー図が書けませんでした。

どうしても120画面あたりのところでエラーが出てしまいます。

…これじゃ5760画面は到底無理だな…

そこで、Visioの試用版をダウンロードしてリトライ。

しかし、Visioの試用版も100画面くらいのところでエラーになります。

…うーん、困った…

…このままだと1個ずつ「図形」で描いていくしかなさそうだ…

しかし、5760個のボックスとカギ型コネクタを1個ずつ描いていくなんて、どう考えても現実的ではありませんでした。

ここで「奥の手」の登場でした。

…ExcelのVBAで「図形描写」するしかないな…

データベース作成に12日!?


Excelシートに5760画面分の画面名、遷移元画面名、遷移先画面名といった情報を書き込み、図形描写に必要なデータベースを作成しました。

このデータベース作成には12日掛かりました。

そして、ExcelVBAでマクロの記述です。

画面ごとに階層の深さを計算し、それに合わせたボックスの位置を決め、遷移元画面からカギ型コネクタをくっつけるマクロを作成しました。

…さあ、何とか出来上がったぞ。

あとはマクロを実行するだけです。

…エイッ!!

ものの数分で5760画面分のフロー図が描かれました。

それを基本設計書のWordファイルに貼り付けて完了です。

全部で19日間、550ページの基本設計書が完成

マクロの作成に4日掛かりました。

全部で19日間、550ページほどの基本設計書が出来上がりました。

「…ホントに早いね…」

…ええ、まあ。

さすがの上司も言葉にならなかったようでした。