『敗北と死に至る道が生活』その4485
おそらく多くの人が驚かないと思うが、少し知っているという人なら「そんなことが出来るのか!」と思うだろう。エクセルにマクロという機能がある。おそらく多くの人がそんなものは知らない。知っててせいぜい関数というやつだろう。=SUM( )とか。=SUM( )の奥には何があるのか。エクセルのバイナリにSUM( )という関数が定義されている。SUMに渡した範囲の値を合計して返す。中で何をやっているかは知らなくていい。1,2,3を渡したら6と返って来ればそれでいいのだ。
私が話したかったのはそんなことではない。エクセルは使用者が関数を定義出来る。SUM2という関数を作って1,2,3を渡したら12を返す関数だって作れる。和を2倍する閔数。そんなもん要らないけど。
私が話したかったのはそんなことでもない。一度作った関数を組み込んだエクセルをユーザーにばらまいた後、関数が間違っていて、そこだけ置き換えたい場合がある。ユーザーに新しいエクセルを渡して終わり。これじゃ迷惑だ。データを一生懸命打ち込んだあとかもしれない。打ち込んだ範囲を新しいエクセルに貼り付ければいい。今まではそれでやっていた。
私が話したかったのはここからだ。シートを貼り付けるのでなく、今まで使っていたエクセルに新しい関数を貼り付ければいいのだ。一般ユーザーにそんなことは出来ない。それこそ「関数を置き換えろ」という関数を作れば...。セキュリティ設定をゆるめれば可能だが、一般ユーザーにそんなことは出来ない。「セキュリティ設定をゆるめろ」という関数を作れば…。というのが本日完成した。しかもVBAプロジェクトにパスワードロックがかかった状態。「パスワードを解除しろ」という関数を作った。ひとつひとつは簡単な話だが、それらを組み合わせてようやく完成した。
こんな話を聞かされても多くの人がちんぷんかんぷんだろうが、IT業界の中の人というのはそんな仕事もしている。そんなマニアックなプログラマーがエレファントカシマシのページを作っています。ありがたいと思え。