特許明細書では、段落番号が4桁で墨付き括弧で記載されます。
例えば、1~200段落まである場合には、【0001】からはじまり、【0200】となります。
途中で段落を追加すると、この段落番号の連番を書き換える必要があり、大変面倒です。
特許事務所によっては、フィールドコードで処理をしていたり、番号書式を使って自動で入力したりしています。
今回紹介するマクロでは、通常のとおりテキストで入力した段落番号を連番に書き換えます。
▼このマクロでできること
段落番号を連番にします。
カーソルの位置はどこでもかまいません。
実行すると、段落先頭に記載された段落番号が連番になります。
![イケてる](https://emoji.ameba.jp/img/user/sa/santos100/170197.gif)
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20120924/15/gidgeerock/1e/36/p/t02200644_0243071112203979879.png?caw=800)
![イケてる](https://emoji.ameba.jp/img/user/sa/santos100/170197.gif)
![みんなのワードマクロ](https://stat.ameba.jp/user_images/20120924/15/gidgeerock/d8/27/p/t02200597_0242065712203979878.png?caw=800)
▼マクロの解説
マクロの記録で得られるコードを中心にして作ってみました。
このような処理はいろんな方がマクロを作っているので、書き方はいろいろあると思います。
1つの例としてご覧ください。
ワイルドカードで検索します。
"^13【[0-90-9@]{4}】"
特許明細書の墨付き括弧の段落番号を探します。
数字は半角でも全角でもかまいません。
また、途中で追加する段落番号は【@@@@】として入れても大丈夫です。
4桁数字に変換するのは、Format関数を用いました。
また、全角数字にする必要があるので、StrConv関数を用いています。
▼マクロ
Sub 段落先頭の段落番号を連番にするマクロ()
Dim i As Long
Dim myNumber As String '墨付き括弧付きの4桁の全角段落番号
'カーソルを先頭へ
Selection.HomeKey Unit:=wdStory
'段落先頭の段落番号を検索する条件を設定
Selection.Find.ClearFormatting
With Selection.Find
.text = "^13【[0-90-9@]{4}】"
.Replacement.text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchFuzzy = False
.MatchWildcards = True
End With
'検索実行
Selection.Find.Execute
'連番の初期値を設定
i = 1
'段落先頭の段落番号が見つかる間実行する
Do While Selection.Find.Found = True
'全角で段落番号を入力
myNumber = "【" & StrConv(Format(i, "0000"), vbWide) & "】"
Selection.TypeText text:=vbCr + myNumber
'次を検索
Selection.Find.Execute
'i の値を1つ増加
i = i + 1
Loop
End Sub
▼関連記事
日英特許明細書の段落番号を探すマクロ
日英特許明細書の段落番号を探すマクロ(改良版)
特許明細書の段落番号をフィールドコードで入力するマクロ
マクロコードの登録方法
ツールバーのボタン登録