先日の記事「【Word】選択範囲内の特許段落番号を削除する」をWordマクロにしてみました。
<目次>
このマクロでできること
選択範囲内の英文明細書用の段落番号を削除します。
(実行前)
(実行後)
マクロの解説
このマクロでは、段落番号の直前に改行記号がある場合に、段落番号と改行記号をまとめて削除しています。
そのため、選択範囲の先頭が段落番号の場合に、その段落番号を削除できません。
そこで、選択範囲の先頭の1つ前の文字列が改行記号の場合には、その直前の改行記号も置換対象範囲に含めるようにしています。(8行目~10行目)
マクロ
Sub 選択範囲内の段落番号を削除する() Dim myRange As Range Set myRange = Selection.Range '選択範囲の1つ前の改行記号を含む If myRange.Characters.First.Previous = vbCr Then myRange.Start = myRange.Start - 1 End If '置換を実行 With myRange.Find .Text = "^13\[[0-9]{4}\]^13" .Replacement.Text = "^p" .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchFuzzy = False .MatchWildcards = True .Execute Replace:=wdReplaceAll DoEvents End With Set myRange = Nothing End Sub