みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
初心者向けWord VBAで文字入力マクロの作り方をお伝えしています。
前回はこちらの記事でした。
SelectionオブジェクトとtypeTextメソッドを使って、カーソル位置に文字入力をする方法をお伝えしました。
さて、Wordで文字入力というと、忘れてはならない存在として「段落記号」があります。
改行マーク的な「アレ」ですよ、「アレ」。
Word VBAでは、当然ながらその段落記号も入力することができます。
ということで、今回はWord VBAで知っておくべき段落記号の入力方法についてお伝えします。
では、行ってみましょう!
前回のおさらい
前回は、カーソル位置または選択範囲に文字を入力する以下のプログラムを紹介しました。
Sub typeText()
Selection.typeText "----- ここから -----"
End Sub
Selectionオブジェクトは、カーソル位置または選択範囲を表すオブジェクトでした。
そして、typeTextメソッドはそのSelectionオブジェクトの位置に、ここでいうと「—– ここから —–」という文字を入力するというものです。
結果をよーく見ると…
typeTextメソッドでは文字の入力はされますが改行はされないのです。
Wordで文字入力をする際に改行をしたいときはたくさんあります。ここでいう改行とは、「段落記号」を入力することです。
段落記号とは、この記号です。
typeParagraphメソッドで段落記号を入力する
Word VBAでカーソル位置に段落記号を入力する方法。
書籍やネットで調べると、typeParagraphメソッドが紹介されています。
書き方は、以下の通りです。
これで、現在のカーソル位置または選択範囲に段落記号を入力できます。
例えば、以下のような位置にカーソルがあったとします。
この状態で以下プロシージャを実行すると…
Sub typeParagraph()
Selection.typeText "----- ここから -----"
Selection.typeParagraph
End Sub
「—– ここから —–」の文字の後に、段落記号が入力され、カーソル位置は次の行になりました。
んー、でも単に段落記号を入力するだけなのに、コードを一行も使うのって、もったいない感じしますよね。
組み込み定数で段落記号を入力する
もうちょっと簡単な方法はないものか…?
それで目を付けたのが、以下の4つの組み込み定数です。
定数 | 説明 |
---|---|
VbCrLf | キャリッジリターン+ラインフィード |
VbCr | キャリッジリターン |
VbLf | ラインフィード |
VbNewline | プラットフォームごとに設定 |
なるほど…!
では、以下プログラムで検証をしてみましょう。
Sub typeParagraph()
Selection.typeText "vbCr" & vbCr
Selection.typeText "vbLf" & vbLf
Selection.typeText "vbCrLf" & vbCrLf
Selection.typeText "vbNewLine" & vbNewLine
End Sub
結果はこちら!
はい、いずれの組み込み定数の場合でも、もれなく段落記号が入力されていますね。
VBAによる入力という面ではどれでもよさそうです。
ただ、一点。以下記事によると、Wordでの検索時は「vbCr」が有効とのことですので、「vbCr」をデフォルトと考えておくのがよさそうです。
組み込み定数を使えば、入力文字と連結して一行で表現ができるようになります。
Selection.typeText "----- ここから -----" & vbCr
こちらのほうがシンプルかなと思います。
範囲選択時に段落記号を入力
では、Selectionオブジェクトが範囲であった場合、つまり範囲選択時に段落記号を入力するとどうなるでしょうか?
例えば、以下のように一つの段落が丸々選択されている状態とします。
このときに、以下のプログラムを実行しますと…
Sub typeParagraph()
Selection.typeText vbCr
End Sub
少し画像ではわかりにくいかも知れませんが、選択した段落全体が、入力した段落記号に置き換わりました。
まとめ
Word VBAでカーソル位置または選択範囲に段落記号を入力方法をお伝えしました。
typeParagraphメソッドを使う方法もありますが、行数を増やさなくて済みますので、組み込み定数vbCrを使う方法がおすすめです。
さて、次回ですが選択範囲の前後に文字を入力していく方法をお伝えします。
どうぞお楽しみに!
連載目次:初心者向けWord VBAで文字入力をしてみよう
お仕事でよく使う文書作成ソフトWord。実は、WordでもVBAでプログラミングができるんです。本シリーズでは、初心者向けとしてWord VBAで文字入力をする方法をお伝えしていきます。- Word VBA入門の最初の一歩!マクロ作成準備の6つのステップ
- Word VBAでカーソル位置に文字を入力するとっても簡単なプログラム
- Word VBA初心者がまず押さえておくべき段落記号の入力方法
- Word VBAで選択範囲の前後に文字列で挿入するマクロを作る方法
- Word VBAで作成したマクロをショートカットキーに登録する方法
- Word VBAを使うなら知っておくべき「段落」の話とその操作方法
- Word VBAで選択範囲の最初の段落&最後の段落を取得する方法
- Word VBA初心者にちゃんと理解して欲しいスタイルとその設定をする方法
- Word VBAでWithステートメントを使って同一オブジェクトの表記をスッキリ書く方法
- Word VBAでフォームを表示&コマンドボタンでマクロを実行する方法
- Word VBAでフォームをEscキーで閉じるようにするテクニック