送付票自動印刷ツール改良計画

問題指摘編

便利ツールをさらに便利にする

 Excelを使って、簡単に多量の送付票をプリントアウトできるツールを作った。で、それはいいのだが、実際便利だったし、けれど便利ツールとしてこれから使い続けるとなると、多少の問題がないわけでもない。

 というわけで、以下に我が送付票自動印刷ツールの問題点を列記してみよう。

送付票自動印刷ツールの問題点

  1. 決め打ち
  2. 宛名宛先の多様性に対応していない

 とりあえず指摘しておくのは以上の二点。まずは分かりやすい後者から説明する。

宛名宛先の多様性

 社内便を利用する際、最も一般的な形式は送信先の所属と宛名氏名が揃って書かれているものだろう。当たり前だが、相手所属だけ書いて肝心の渡すのが誰か分からんでは送付票としては不完全。だが社内便というやつは特定個人にではなく、部課係を送信先にすることが珍しくない。いや送付票だけじゃないな。郵便でも係宛ってあるもんな。けれど住所の必要がない社内便では、宛先所属名だけで済む。つまり宛先宛名を二行に分けて様をつけるだけでは対応できないケースが生じることがあるわけだ。

 ということで、宛先宛名が揃っているケースと、宛先(肩書き所属名)のみ、ついでに宛名氏名のみというみっつのパターンに対応できるようにしなければならないのではないか。それができていない段階では、今後の使用において不便が生ずることもある。問題である

 問題といえば、データ行の範囲を知るのに、宛名行だけを対象にしていたことも忘れてはならない。つまり宛先のみで宛名がないものがデータ行にあったとしたら、そいつ以降のデータは存在しないことになってしまう。これも問題だ

 問題は発見次第是正されなければならない。だからなおそう。

決め打ち

 決め打ちというのは、例えば先ほどもいった、宛先と宛名はセットになってるだろうものだから宛名だけでデータ行範囲を調べればいいや、という考え方と思ってもらえればよろしい。宛名が揃っていないデータなどないと頭から決めつけてしまってると、想定外のケースでぼろが出てしまう。で、実はそれと同じものがもうひとつあったりするのだな。

 ふたつめの決め打ちというのは、データ行範囲を調べる際、データ行が存在しないとカーソルがシート最終行にいってしまい、存在しないはずのデータが65535行あるとされる現象を回避する処理の部分にある。つまり変数RowEndが60000より大きかったら処理を中止せよという部分の、60000という数字である。

 実は今回のツールはExcel 2000で作ったため、60000という数を用いるのにとりわけ問題はなかった。というのも、Excel 2000のシートの最大行数は65536と決まっとるわけだから、だけれどもExcel 97のその前のバージョンでは16384行までしかなかったそうで、もちろん今回のマクロがそういう旧いバージョンで動くかどうかは知らないんだけど、だからといってこういう変更があるたびにソースをいじるでは面倒じゃないか。それに60000より大きな値を弾くのでは、送付票を63000通作らなければならない場合には、プログラムが動かないということになってしまう。それでは困るので、こういった決め打ちを排して今後もあるだろう変更に柔軟に対応するように変えてやらなければならない。

 というよりも、63000通送付票を作るほうが困る。というか、うちの課にそんなたくさんの封筒、置いてない。


<   >

わたしの愛した機械へ トップページに戻る

公開日:2003.09.02
最終更新日:2003.09.03
webmaster@kototone.jp
Creative Commons License
こととねは、クリエイティブ・コモンズ・ライセンス(表示 - 継承 2.1 日本)の下でライセンスされています。