INVEX

 西暦2000年問題を孕んだシステム、老朽化が著しいからこれを機会にクライアント/サーバー型にダウンサイジングしよう!びっくりするほどありがちな開発案件でのお話です。
 PCやUNIXでどんなにがんばっても汎用機に追いつけないもののなかに「印刷速度」があります。汎用機のラインプリンタはとにかく速い。紙が送られているのが見えないぐらい速いです。また、いかにもコンピュータという風情の両側に穴のあいた連続紙の効果も捨てがたいものがあります。あれは、ミシン目を切り離さない限りひとまとめに扱えますので保存や支店ごとに切り分けて発送するといった場合にとても楽なんですね。
 いろいろな計表を調べてゆくうちに汎用機プリンタでなくてはどうしようもないものが見つかりました。3000枚の印刷が必要なのです。だいたい耐えられるプリンタがない。キヤノンだったら焼き付くぞ、エプソンだったら給紙が追いつかないぞ、HPは日本語PostScriptが使えないぞ。

 当然考えられるのが「ならば紙で出さなければいい」。要するにペーパーレス化というやつです。最初は真面目にTeXのソースを出力するスクリプトをPerlで書いて、電子メールで送付する。ユーザーが見たいときはそれをコンパイルしてもらえばいいかな、などと思いつきましたがそれは無理だ。まあ、プロトタイプを作ればいいんだからMicrosoftExcelで計表の雛形を作って、データベースから吸い上げたcsvの各項目をマクロで各セルに貼り込んでいき、、、これなら使えるかなと考えておりました。
 しかし、私はVBが苦手だ、ということで(なぜマクロにしなかったかの言い訳もかねて)汎用的に使えるものをDelphiで書くことにしました。

 バッチ処理も考えて、設定は全てiniファイル編集、実行ログは相当しつこく書く、エラーでの停止はできるだけ押さえる。ううん、よほど夜間呼び出しが嫌いなようだ。
 かくして出来てしまったのがこれです。
 ただし、そのまま業務で使えるようにしっかりと書いたにもかかわらず、不幸な結末となりました。まず、うちの会社は自社のシステム部門がプログラムを書くことを前提としていない。従って業務に使えない。ソフトハウスのみなさんに、ソースあげるからそっちで書いたことにして、とお願いしてもDelphi使いがいない。(ソフトハウス側も相当残念がってはくれた。)とどめにユーザー部から「やっぱり紙でほしい。印刷はこっちで何とかするから。」

 ああ、よくできているんだがなあ。でも、MS-Excelで差し込み印刷が出来るツールと割り切ればそんなに悪くありません。それなりに静かな余生を送っているプログラムです。

公開場所
Microsoft Office Users' Forum Lib5. 【マクロ】マクロ/テンプレート(Excel ) 190
フリーソフト開発秘話、目次
ホーム