【Word VBA】選択範囲内の段落先頭の1文字を大文字にするWordマクロ(その1)

2016年9月7日

先日の上書き翻訳セミナーに参加いただいた方からの要望がありましたので、マクロを作ってみました。

上書き翻訳セミナーでは、カーソルが置かれている文章の先頭文字の大文字・小文字を切り替えるマクロを紹介しました。上書き翻訳では必須のマクロです。

このマクロは「【コード】カーソル位置の文頭文字の大・小文字を切り替えるWordマクロ(その2) 」のマクロそのものです。

このマクロを応用して、選択範囲内のすべての段落の先頭の1文字を大文字にするマクロのご要望をいただきました。

このマクロでできること

選択範囲内で処理をします。想定されているのは、単語が列挙されていて、その先頭1文字だけを大文字にするという場合です。

(実行前)

大文字小文字

(実行後)

大文字小文字

ただ、以下のような文章が列挙されているような場合には注意が必要です。

段落先頭の1文字しか処理対象になっていません。

(実行前)

大文字小文字

(実行後)

カーソルがある段落の先頭の1文字だけを大文字にします。

大文字小文字

マクロの解説

選択範囲内の段落すべてに対して実行するということで、For Each... Next ステートメントを使いました。

範囲内の先頭の1文字は、Characters.Firstプロパティを使います。

マクロ


Sub 段落先頭の1文字を大文字にする()

 Dim myPara As Paragraph

 For Each myPara In Selection.Paragraphs
  myPara.Range.Characters.First.Case = wdUpperCase
 Next

End Sub

-コード
-