マクロ編集の手順のまとめ
編集作業はこれで終了です。完成したプロシージャを見直してみると、実際に記録した内容が整然と並んでいて、より読みやすく、意味の分かるプロシージャになったことが確認できます。ここで、これまで行ってきた編集手順をまとめてみましょう。
■Selectionプロパティの置き換え
Selectionプロパティを、参照している実際のオブジェクト名に置き換え、余計なステートメントを削除しました。
■勝手に記述される操作の削除
「Withステートメントの不要な記述」や「メソッドの引数の不要な記述」を削除しました。
■削除した方がスッキリする操作を削除
「画面スクロール」の操作を削除しました。削除した方がスッキリする操作には、この他に「ウィンドウを移動した操作」や「ウィンドウを最小化・最大化した操作」などもあります。
■Withステートメントでまとめる
同じオブジェクトに対する操作部分は、Withステートメントでまとめます。ちなみに、Withステートメントを使うとオブジェクトを参照する回数が減るため、実行速度が速くなります。
■実行順序を変更する
Withステートメントでまとめる作業を行う上で、実行順序を変更できるところは変更します。
これら5項目の視点で編集を進めれば、一通りスッキリとしたプロシージャになると思います。なお、今回は、解説の都合でこの順番で編集を進めましたが、順番にこだわる必要はありません。
また、Selectionプロパティの置き換え作業は、間違いのない編集作業に必要な過程といえますが、オブジェクト名にわざわざ置き換えた部分をWithステートメントでまとめるときに削除していることなどを考えると、ちょっと無駄な作業ともいえます。慣れてきたら、もっと効率的に作業を進めるように工夫してみましょう。
「記録して編集する」作業は非効率?
マクロ記録でプロシージャを自動生成し、1行ずつ読み解きながら編集する手順をご覧頂きましたがいかがでしたでしょうか? 慣れないうちは、読み解く際にひとつひとつのキーワードをヘルプで調べる、といった作業も必要になるでしょう。「これなら最初から書いた方が早い」と感じる方もいらっしゃると思います。確かに、様々なキーワードを覚えてきたら、書いた方が断然早いです。しかし、書いたプロシージャには、ミスタイプのリスクもありますし、動作確認するまでは「キチンと動くかどうか」は保証できません。一方、マクロ記録で記述されたプロシージャは、自動生成されたものなのでミスタイプのリスクはありませんし、「実際に動かした」結果なので、マクロの編集で間違わなければ、キチンと動くという安心感もあります。
●初めて記録する操作や覚えていない操作は「記録して編集」
●見慣れて覚えてきた操作はサクッと「書く」
といったように使い分けると良いでしょう。