三四郎はユーザがマウスやキーボードで行った操作を
記録して再現する機能を持っています。
この機能は「記録マクロ」と言われています。
(●`ε´●):どうやってやるんだ?
【´・ω・`】:メニューを「ツール」「マクロ」「記録開始」と辿ればいい。
そうすると三四郎が自動的にユーザの行った処理を記録してくれる。
(●`ε´●):記録って?
【´・ω・`】:例えばA1に「くまぷー」と入力するとその操作を三四郎が
プログラムに翻訳してくれるんだ。下が記録マクロで作られたコードだ。
!! マクロ記録 : 2007/03/31 14:02:16
Range("A1").SetCurrent()
CurrentCell.Formula = "くまぷー"
3行あるが、最初の緑の行はコメントと呼ばれていて
プログラムの実行時には無視される。
単なる説明のための行だ。
行頭に感嘆符を二つ入力するとその行はコメントになる。
(●`ε´●):ではA1に「くまぷー」と書き込むのに必要なのは
下の2行ということなんだな?
【´・ω・`】::うん。
(●`ε´●):ちょっと解説してくれ。
【´・ω・`】:OK。Range("A1")はセルA1を示している。
SetCurrent()はアクティブにする、ということだ。
だからRange("A1")とSetCurrent()を「.」(ドット)でつないで
Range("A1").SetCurrent()
と記述するとセルA1をアクティブにしなさい、という命令になる。
(●`ε´●):セルをマウスでクリックしたりするとそのセルの枠が
黒太表示になって文字などを入力できるようになる。
この状態をアクティブって言うんだったよな?!
【´・ω・`】:うん。
(●`ε´●):で、次は?
【´・ω・`】:CurrentCellは現在のアクティブセル。
(●`ε´●):つまり、A1だな?!
【´・ω・`】:うん。Formulaは式。つまり、A1の式として「くまぷー」を
代入しなさいということ。
この2行を実行するとA1に「くまぷー」と入力したのと同じことになる。
(●`ε´●):「くまぷー」ってのは式じゃないだろ?
【´・ω・`】:うん、でも記録マクロを使うとそういうコードが
生成されてしまうんだ。実際には自動記録で生成されるコードは
冗長なものになることが多いんだ。例えばセルA1に「くまぷー」入力するだけなら、
Range("A1") = "くまぷー"
の1行で十分だし・・・。
(●`ε´●):この方がすっきりしているな。
(続く)
コメント