本日は、当講座が今月でまる15周年を迎えたということで、何か重要な話を(ネットや本には絶対載っていない話を)してみたい思います。
題して、「マクロの記録」は飲み物です! (「マクロの歴史も知らないでマクロが教えられるか!」ってな内容になっています。)
特に、マクロの教え手側の人には、他人に間違った教え方しないよう、ぜひ知っておいて欲しい思います。
たとえばそれは、中学校の美術の先生が、生徒達に油絵の描き方教える際に「印象派」の歴史すら知らないで教えていたら、方向性間違ってしまうだろうのと同じです。
VBAの世界では、マクロの歴史的な背景も全く知らないで教える人ばかりが多いですので、「どうにも世間のマクロの教え方は皆間違ってる!」そう危惧してならない次第です。。
で、そもそもが、「マクロ」と言うものは何処で発展してきたのか? と言うと、それは、紛れもなく「CAD」の世界になります。
「CAD」というのは、コンピュータ上で設計図などを描く為のソフトウェアの事ですが、設計図ですからとにかく細かい作業になるわけです。操作が大変なのです。
こう言っては何なんですが、「CAD」の操作の複雑さと言ったら、とても「Excel」の比ではありません!
ここの読者の皆さんは、たぶん全員がExcelのユーザーだと思いますが、それで日々のExcel操作が面倒だから、働き方改革しなきゃならないから、ということでこれを読んでくださってることと思います。
けど、私に言わせるとExcel操作の面倒くささなんて、CADに比べたらまさしく「屁のカッパ!」です。(笑)
それを証拠に、たとえばPC職種での求人で、「CADオペレーターの募集」はあっても「Excelオペレーターの募集」というのはないわけです。
設計図を描く為のCADのソフトというのは、専門職を雇ってやらねばならないほど、細かくて、面倒で、時間も掛かる作業であるわけですから、ただ数字や文字を扱うだけの表計算ソフト(すなわちExcel)のそれとは、比べものにはなりません。
なので、「大変なPC操作を改善する方法=マクロを組む」ということですから、マクロは長らく、設計図ソフトのCADの分野で発展を遂げてきたという技術であるわけです。
読者の皆さんの中には私の知る限りでも、そのCADオペレーターをされてる方も多く居られますが、それは要するに、仕事柄その辺が(マクロを組む意義が)よくわかっているからだと思います。
実は、私は元々がそのCADソフトの開発エンジニアです。だから、自分で言うのも何ですが、言わばマクロのプロフェッショナルです。(ただのVBA本出しているようなライターのレベルではないわけです。。笑)
それで、そのCADのマクロの世界では、その昔から「マクロの記録」に似た機能というものがあったわけです。
「マクロの記録」というのはマイクロソフトが作った言葉なので、CADの世界では主にそれは「コマンド記録」と呼ばれていたものです。 自分が行ったCADの操作が、CADマクロのプログラムで(1行のコードで)出てくるという、優れモノの機能です。
だから、CADオペレーターと呼ばれる職種の人達は、自分の作業を効率化する為に、昔からその「コマンド記録」を頻繁に活用して、出てきた1行コードをいろいろ組み合わながら、複雑な操作を効率化するために役立ててきたという長い歴史があります。
それこそが、CADでの「コマンド記録」に端を発した現在で言うところのExcelの(Microsoft Office製品の)「マクロの記録」の歴史であります。
マイクロソフト社の誰かエンジニアが、CADのソフトからその仕組みをマネて作ったいうのが、Office製品に今ある「マクロの記録」であったのだろうと(間違いなくこれはパクリだ! 笑)と、私は憶測しています。
だから、いいですかっ!
マクロの組み方いうのは、元来から当講座のレッスンで散々教えて来たように「マクロの記録」から組み上げていくものであるわけです。
「マクロ」は、そもそもが「マクロの記録」ありき、なのです。そこから組んで、組み立てていくというものであります。複雑な操作になればなるほど、そうなります。
そうした「マクロの記録」の長い長い歴史も知らないで、「マクロの記録は使うな!」的な主張を展開されているVBA先生が、本でもネットでも多いと思いますけれど、、CAD開発に精通したエンジニアの私から言わせると、それはまさしく、愚の骨頂!本末転倒!であるわけです。
昔からCADの世界で効率よくやって来たマクロ本来の「正しい組み方」いうのを、もっともっと世間に広く広めていかないといけない思います。本来、「マクロの組み方」というものは「一般的な他のプログラムの組み方」とは、全くの別物なのです。
それで、つい先日も今やっている「三太郎アカデミー」の塾生の一人から、
> 以前から、マクロの記録は使っていたのですが、 > 必要のない行を見分けられずマクロは複雑だ!… > と思い込んでいました。
とのメールをもらいましたが、この方も言うように、「必要のない行を見分けらるようになったら・・・」それで、良いだけです。それで、「マクロは複雑」ではなくなるわけです。それで、「マクロの記録」も大いに活用できる。
いいですか、マクロは「マクロの記録」から組み上げる!
それが、古来から続いてきた正しいマクロの組み方です。一般のプログラミング(素人には難しすぎる!)とマクロのプログラミングとの、そこが第一の大きな違いですね。
だからまさしく、Excelマクロのユーザーにとってみたら、
「マクロの記録」は飲み物です!
すなわち、マクロは「マクロの記録」無くしては生きてはいけないもの、そう言えるだろうと思います。
初心者の方、ノンプロの方は、この歴史的な背景をよく心して、正しいマクロ作りの勉強に励んていって欲しい思います。