【Word VBA】段落の3文字目に半角スペースを挿入するWordマクロ

今日はお客様のリストを整理しておりまして、そのときにお名前の姓と名に区切られたデータがないことに気がつきました。

そこで、姓名を区切るためのマクロを考えてみました。

かなり機械的ですが、姓は2文字である可能性が高いので、ひとまず3文字目に半角スペースを入れて一次処理とし、あとは手作業で修正という方針にしてみました。

いわゆる捨てマクロ(特定の処理のためにとりあえず作ったマクロ)ですが、例として紹介します。

このマクロでできること

現在の文書に記載されている文字列に対して処理をします。

各段落の最初の3文字目に(2文字目の後に)、半角スペースを挿入します。

段落の3文字目に全角のスペースや半角のスペースが入っている場合でも表記を統一します。

(処理前)

文字列挿入

(処理後)

文字列挿入

マクロの解説

段落毎に処理をするので、For Each .. Next ステートメントで段落オブジェクトに対して処理を行いました。

文字列を挿入するのは、もちろんInsertBefore メソッドです。

マクロ


Sub 段落先頭3文字目に半角スペースを挿入する()

 Dim myPara As Paragraph
 
 '-------------------------------------------
 '段落3文字目が全角スペースの場合、半角化
 '-------------------------------------------
 For Each myPara In ActiveDocument.Paragraphs
  If myPara.Range.Characters.Count > 2 Then
   If myPara.Range.Characters(3).Text = " " Then
    myPara.Range.Characters(3).Text = " "
   End If
  End If
 Next
 
 '-------------------------------------------
 '段落3文字目に半角スペースを挿入
 '-------------------------------------------
 For Each myPara In ActiveDocument.Paragraphs
  If myPara.Range.Characters.Count > 2 Then
   If myPara.Range.Characters(3).Text <> " " Then
    myPara.Range.Characters(3).InsertBefore " "
   End If
  End If
 Next

End Sub

トップへ戻る