先日の記事「【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







