【Word VBA】改行付きの定型文字を入力するWordマクロ(3パターン)

2012年1月6日

文字入力に関するマクロの紹介です。読者の方からご質問をいただきましたのでご紹介いたします。

どのマクロも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

-コード
-,