特許明細書の段落番号を日本語仕様から英文仕様に変更します。
▼このマクロでできること
フィールドで表示される日本語明細書の段落番号(【0001】など)を、英文明細書の段落番号([0001]など)に変更します。
おそらく、みなさんが現在使われているフィールドの書式の多くに対応していると思いますので、お試し下さい。
うまく機能しない場合には、以下のブログで紹介しましたフィールドをご利用下さい。
特許明細書の段落番号をフィールドコードで入力するマクロ
特許明細書の段落番号をフィールドコードで入力するマクロ(その2)
また、変換後に確定する場合には、以下のフィールド用マクロをご利用下さい。
【1行マクロ】文書中の全てのフィールドコードを文字列に変換する
▼マクロの解説
フィールドコードをいったん表示させてから、フィールドで定義された書式部分を置換することで、日本語段落番号から英語段落番号に変換しています。
そして、その後、フィールドを更新しています。
このマクロでは、識別子部分はそのまま残しますので、以下のような自体になることもご理解下さい。
たとえば、同じWord文書内に、別々のフィールドで書かれた日本語段落番号と英語段落番号があります。
これらは、上記のブログ記事で紹介したフィールドで記載されていますので、識別子がParaJP(日本語段落番号)とParaEN(英語段落番号)となっています。
この状態でマクロを実行します。日本語段落番号が英語段落番号になります。
しかし、上記の通り連番になりません。なぜなら、連番になるのは、同じ識別子のフィールド同士だからです。
現状のマクロでは上記のようになることをご理解の上、お試し下さい。
▼マクロ
Sub 日本語段落番号を英語段落番号に変更()
Dim myRange As Range
'画面更新 オフ
Application.ScreenUpdating = False
'フィールドコードを表示
ActiveWindow.View.ShowFieldCodes = True
Set myRange = ActiveDocument.Range(0, 0)
With myRange.Find
.Text = """【0000】"" \* DBCHAR"
.Replacement.Text = """[0000]"" \* SBCHAR"
.Forward = True
.Wrap = wdFindStop
.Format = False
.Execute Replace:=wdReplaceAll
End With
'フィールドコードを非表示
ActiveWindow.View.ShowFieldCodes = False
'フィールドを更新
ActiveDocument.Fields.Update
'画面更新 オン
Application.ScreenUpdating = True
Set myRange = Nothing
End Sub
▼関連記事
特許明細書の段落番号をフィールドコードで入力するマクロ
特許明細書の段落番号をフィールドコードで入力するマクロ(その2)
【1行マクロ】文書中の全てのフィールドコードを文字列に変換する