昨日、今日とExcel VBAのユーザーフォームと格闘していた。前回作ったのはこんな感じ。
今の仕事に変わってからは滅多にやらなくなったが、昔はよくスクリプトを書いていた。VBAだけでなくVBscriptとかperlとかsedとかコンパイルする必要のないものをよく使ってた。
最初にコンピュータを買ったときにまずBASICを覚えた。最初にMSX-BASIC、しばらくしてFM-BASIC、そしてN88-BASICだっけか。教師時代は成績処理とかけっこういろいろ作った。20年以上も前のことだ。
それが前の仕事でTURBO-Cに変わり、やがてUNIXワークステーションを扱うようになってスクリプトを使うようになった。perlなんて今ならCGIプログラムで当たり前のように使われてるけど、それを数値計算に使ってた。
図面の形状をCADに読み込ませるために数式から点列データを作るとか、テキスト形式のCADデータの書式を書き換えるとか、ちょっとした操作なんだけど何百回とやらないといけないなんてのは専用のプログラムを作るまでもなくスクリプトで処理すると便利だ。
スクリプトだとコマンドラインから扱えるので結構面白い処理がオートマチックにできる。しかも何度もやっていると自分だけのライブラリができていくので、新しいことをやるのはだんだん楽になる。
...はずだったが、ちょっとブランクがあると忘れるんだよね。解説本も、どの本に書いてあったか分からなくなったり。インターネットで探すと結構見つかるのでまた絞り込んでいくのに手間取ったり。
ということで作ったのは、インターネット上で新規の顧客になりそうな企業のホームページを見つけては住所や電話番号などをひたすらかき集めていくためのデータベース。
小さなフォームにペタペタとドラッグすると一覧表ができていくという、たったそれだけのもの。しかし例外的な処理まで予測してスクリプトを書いていくと、思ってたより時間がかかってしまった。
それでもいちいちExcelの表をスクロールして何項目もコピペしていくことを考えれば楽。IEのアドオンとか作れたらもっと便利なんだろうケドさすがにそこまでの時間的な余裕はないので...
それにしても長くなりがちだな、このブログ。