Word VBA初心者がまず押さえておくべき段落記号の入力方法


photo credit: elenchos Return via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

初心者向けWord VBAで文字入力マクロの作り方をお伝えしています。

前回はこちらの記事でした。

Word VBAでカーソル位置に文字を入力するとっても簡単なプログラム
Word VBA初心者向けシリーズ。今回は、文字を入力する方法の中で最もシンプルな方法を紹介。SelectionオブジェクトのtypeTextメソッドを使って、現在のカーソル位置に文字を入力する方法です。

SelectionオブジェクトとtypeTextメソッドを使って、カーソル位置に文字入力をする方法をお伝えしました。

さて、Wordで文字入力というと、忘れてはならない存在として「段落記号」があります。

改行マーク的な「アレ」ですよ、「アレ」。

Word VBAでは、当然ながらその段落記号も入力することができます。

ということで、今回はWord VBAで知っておくべき段落記号の入力方法についてお伝えします。

では、行ってみましょう!

スポンサーリンク

前回のおさらい

前回は、カーソル位置または選択範囲に文字を入力する以下のプログラムを紹介しました。

Sub typeText()

Selection.typeText "----- ここから -----"

End Sub

Selectionオブジェクトは、カーソル位置または選択範囲を表すオブジェクトでした。

そして、typeTextメソッドはそのSelectionオブジェクトの位置に、ここでいうと「—– ここから —–」という文字を入力するというものです。

結果をよーく見ると…

Word VBAのtypeTextでは段落記号は入らない

typeTextメソッドでは文字の入力はされますが改行はされないのです。

Wordで文字入力をする際に改行をしたいときはたくさんあります。ここでいう改行とは、「段落記号」を入力することです。

段落記号とは、この記号です。

Wordの段落記号

typeParagraphメソッドで段落記号を入力する

Word VBAでカーソル位置に段落記号を入力する方法。

書籍やネットで調べると、typeParagraphメソッドが紹介されています。

書き方は、以下の通りです。

Selection.typeParagraph

これで、現在のカーソル位置または選択範囲に段落記号を入力できます。

例えば、以下のような位置にカーソルがあったとします。

Word文書のカーソル位置

この状態で以下プロシージャを実行すると…

Sub typeParagraph()

Selection.typeText "----- ここから -----"
Selection.typeParagraph

End Sub

「—– ここから —–」の文字の後に、段落記号が入力され、カーソル位置は次の行になりました。

Word VBAのtypeParagraphで段落記号を入力

んー、でも単に段落記号を入力するだけなのに、コードを一行も使うのって、もったいない感じしますよね。

組み込み定数で段落記号を入力する

もうちょっと簡単な方法はないものか…?

それで目を付けたのが、以下の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

結果はこちら!

Word VBAで組み込み定数で段落記号を入力

はい、いずれの組み込み定数の場合でも、もれなく段落記号が入力されていますね。

VBAによる入力という面ではどれでもよさそうです。

ただ、一点。以下記事によると、Wordでの検索時は「vbCr」が有効とのことですので、「vbCr」をデフォルトと考えておくのがよさそうです。

【VBA】Word、Excelの改行コードについて - SEのネタ帳
VBAで文字列比較のコード書いてて、Wordの改行コードで少しハマった。 if str = "なんちゃらかんちゃら" then がヒットしない。ウォッチしてみても、strにはちゃんと正しい文字は入っている。 VBAは文字列比較が「=演算子」...

組み込み定数を使えば、入力文字と連結して一行で表現ができるようになります。

Selection.typeText "----- ここから -----" & vbCr

こちらのほうがシンプルかなと思います。

範囲選択時に段落記号を入力

では、Selectionオブジェクトが範囲であった場合、つまり範囲選択時に段落記号を入力するとどうなるでしょうか?

例えば、以下のように一つの段落が丸々選択されている状態とします。

Word文書で範囲選択

このときに、以下のプログラムを実行しますと…

Sub typeParagraph()

Selection.typeText vbCr

End Sub

少し画像ではわかりにくいかも知れませんが、選択した段落全体が、入力した段落記号に置き換わりました。

Word VBAで選択範囲を段落記号に置換

まとめ

Word VBAでカーソル位置または選択範囲に段落記号を入力方法をお伝えしました。

typeParagraphメソッドを使う方法もありますが、行数を増やさなくて済みますので、組み込み定数vbCrを使う方法がおすすめです。

さて、次回ですが選択範囲の前後に文字を入力していく方法をお伝えします。

Word VBAで選択範囲の前後に文字列で挿入するマクロを作る方法
初心者向けにWord VBAで様々な文字入力をするマクロの作り方をお伝えしています。今回は、Word VBAのinsertBeforeメソッド、insertAfterメソッドで選択範囲の前後に文字列を挿入する方法です。

どうぞお楽しみに!

連載目次:初心者向けWord VBAで文字入力をしてみよう

お仕事でよく使う文書作成ソフトWord。実は、WordでもVBAでプログラミングができるんです。本シリーズでは、初心者向けとしてWord VBAで文字入力をする方法をお伝えしていきます。
  1. Word VBA入門の最初の一歩!マクロ作成準備の6つのステップ
  2. Word VBAでカーソル位置に文字を入力するとっても簡単なプログラム
  3. Word VBA初心者がまず押さえておくべき段落記号の入力方法
  4. Word VBAで選択範囲の前後に文字列で挿入するマクロを作る方法
  5. Word VBAで作成したマクロをショートカットキーに登録する方法
  6. Word VBAを使うなら知っておくべき「段落」の話とその操作方法
  7. Word VBAで選択範囲の最初の段落&最後の段落を取得する方法
  8. Word VBA初心者にちゃんと理解して欲しいスタイルとその設定をする方法
  9. Word VBAでWithステートメントを使って同一オブジェクトの表記をスッキリ書く方法
  10. Word VBAでフォームを表示&コマンドボタンでマクロを実行する方法
  11. Word VBAでフォームをEscキーで閉じるようにするテクニック

タイトルとURLをコピーしました