2011年4月29日金曜日

特許庁の電子出願で使用可能な文字以外を赤で表示するWORDのマクロ

特許庁に電子提出する書類を作成する際には、「①まるいち」、「㈱株式会社」、「®登録商標」などの環境依存文字は使用できませんが*、インターネット出願ソフトで変換作業をする前にWORD上でチェックできると便利です。

そこで、特許庁のシステムで使用可能な文字以外を赤の蛍光ペンで表示するMS-WORDのマクロを作成しました。なお、このマクロでは、「一-龠」の間に含まれるUnicode特有の漢字をチェックすることはできません。しかし、特許庁提出書類作成のためにそのような特殊な漢字を使用する可能性は殆どないので、実際上問題になることはないと思われます。

*下記サイトの「11.文字コード一覧」を参照。
http://www.pcinfo.jpo.go.jp/inet/info/03_09.html


Sub JPOunacceptedCharacter()
'
' JPOunacceptedCharacter Macro
'
'
    Selection.Find.ClearFormatting
    With Selection.Find
       .Text = "[!  ^13\!-~一-龠ぁ-んァ-ヶ0-9Α-Ωα-ωА-Яа-яЁё─-╂╋A-Za-z、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/◆□■△▲▽▼※〒→←↑↓〓∈∋⊆⊇⊂⊃\~∥|…‥‘’" & ChrW(8220) & ChrW(8221) & _
        "()〔〕[]{}〈〉《》「」『』【】+-±×∪∩∧∨¬⇒⇔∀∃∠⊥⌒∂÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇∇≡≒≪≫√∽∝∵∫∬ʼn♯♭♪†‡¶]"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchFuzzy = False
        .MatchWildcards = True
    End With
    Do While Selection.Find.Execute
    Selection.Range.HighlightColorIndex = wdRed
    Loop
End Sub

WORDで全角英数記号文字を半角文字に変換するマクロ

特許明細書を作成する際に、全角英数記号を半角に統一したい場合がありますが、MS-WORDで一括変換できるマクロを作成しました。なお、特許庁の電子出願で使用できない半角文字に変換することはありません。好みに応じて、自由に書き換えて使用してください。



Sub tohankakuall()
'
' tohankakuall Macro
'
'
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "[!" & ChrW(8221) & "#$%&’()*+,-./0-9:;<=>?@A-Z[¥]^_`a-z{|}]"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchFuzzy = False
        .MatchWildcards = True
    End With
    Do While Selection.Find.Execute
    Selection.Range.CharacterWidth = wdWidthHalfWidth
    Loop
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "[!" & ChrW(8221) & "#$%&’()*+,-./0-9:;<=>?@A-Z[¥]^_`a-z{|}]"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchFuzzy = False
        .MatchWildcards = True
    End With
    Do While Selection.Find.Execute
    Selection.Range.CharacterWidth = wdWidthHalfWidth
    Loop
End Sub