文字入力に関するマクロの紹介です。読者の方からご質問をいただきましたのでご紹介いたします。
どのマクロもTypeTextメソッドを用いるのですが、表現方法を変えて3つご紹介します。
このマクロでできること
カーソル位置に3行の文字列を入力します。書式が含まれない文字情報だけの入力です。よって、カーソル位置の書式にそのまま従います。
今回は、よくありそうな会社名、事業部名、部署名の3行を入れてみました。
マクロを実行後、以下のようになります。
マクロの解説
3種類書きました。
この3種類は同じ動作をするのですが、プログラム自体の見た目が違います。
まず、「定型の文字入力マクロ_1」です。
これは、「マクロの記録」機能で記録できるコードですね。
非常にわかりやすいです。文字を入力したら、その後に改行を入れて、そして文字を入力して、、、、。操作をそのまま追って読むことが出来ます。
そして、「定型の文字入力マクロ_2」です。
これは、Withステートメントを用いて、上記の「マクロ_1」を書き直したものです。
オブジェクトであるSelectionの繰り返しの記述がなくなり、すっきり読みやすくなりました。
意味は、「マクロ_1」と全く同じです。スピードは理論上は多少速くなると思いますが、この程度だと体感できませんので、実行速度に関しては気にする必要はないと思います。
最後に「定型の文字入力マクロ_3」です。
これは、文字列の「改行」をTypeParagraphメソッドを用いずに、vbCr(キャリッジ リターン)という定数を用いて表しています。
文字入力ではなく、メッセージボックスに表示させる文字の改行をするときにも使えます。(「メッセージボックス内の文字を改行して表示する」をご参照ください。)
マクロ
Sub 定型の文字入力マクロ_1() Selection.TypeText Text:="ABC株式会社" Selection.TypeParagraph Selection.TypeText Text:="エネルギー環境事業部" Selection.TypeParagraph Selection.TypeText Text:="技術開発部" Selection.TypeParagraph End Sub Sub 定型の文字入力マクロ_2() With Selection .TypeText Text:="ABC株式会社" .TypeParagraph .TypeText Text:="エネルギー環境事業部" .TypeParagraph .TypeText Text:="技術開発部" .TypeParagraph End With End Sub Sub 定型の文字入力マクロ_3() Selection.TypeText _ Text:="ABC株式会社" & vbCr & _ "エネルギー環境事業部" & vbCr & _ "技術開発部" & vbCr End Sub