マクロをバージョンアップしました。
こんにちはモチ湖です。
特許実務者であり、株式会社ジムウインの設立メンバーで社長です!中堅特許事務所でシステム管理者を兼任しています。
特技は、事務作業の便利ツールを発掘することです!
出願データをHTMLに変換するのが面倒だなあ。
簡単にできる方法を教えてほしいなあ・・・
特許出願をオンラインする場合、ワードデータをHTMLデータに変換する必要があります。
今回の記事は、ワードデータからHTMLデータをワンクリックで変換する方法を紹介します!
本記事の内容
・ワードデータからHTMLデータをワンクリックで変換する方法
・今回はワードデータのうち文字データについてHTMLデータを変換する方法を解説していきます!
本記事の信頼性
この記事を書いている私は、特許実務者であり、中堅特許事務所でシステム管理者を兼任しています。これまでに、知財関係の便利ツールを発掘しています。
WordデータからHTMLデータの変換方法
特許明細書などの出願原稿は、どこの特許事務所でもWordで作成しています。
出願原稿をインターネット出願ソフトに取り込むためには、WordデータをHTMLデータに変換する必要があります。
変換の手順は、こちらのサイトが参考になります。上のサイトの一部を以下に抜粋します。
上の図とおり、通常の変換では、ステップの数が7つもありますので出願原稿の件数が多くなると非常に手間がかかります。
また、Word自身のHTML出力機能は、以下のように不要なタグが混在しており、とてもわかりにくいコードとなっています。
そこで、
ワンクリックでHTMLデータに変換でき、しかも
きれいなHTMLデータに変換できるマクロを紹介します!
変換方法は以下のとおりです。
①マクロで明細書変換
②マクロで図面変換
③ツールバーに実行ボタンを表示
④RPAと連携した一括変換
本記事では、①について解説していきます!
以下にやり方を解説します。
まずはWordを開き、開発設定をします。
上の図のように、「オプション」>>「リボンのユーザ設定」>>「開発」にチェックを入れます。
次に「Visual Basic」を選択します。
次に、「挿入」>>「標準モジュール」を追加し、以下のコードを上の図のように貼り付けます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
Sub WordToHTML() Dim strFilePath As String Dim FileNameEx As String Dim FileName As String '// HTML変換元のファイル名取得 FileNameEx = ActiveDocument.Name '// HTML変換先のファイル名 FileName = "\" + Left(FileNameEx, InStrRev(FileNameEx, ".") - 1) + ".html" strFilePath = ActiveDocument.Path & FileName '// HTML変換先のファイル作成 Open strFilePath For Output As #1 Print #1, "<html>" Dim p As Paragraph Dim Sups As Boolean Dim Subs As Boolean Dim Uline As Boolean '// HTMLタグ付与 For Each p In ActiveDocument.Paragraphs Print #1, "<p>"; Dim c As Range '// 下線部、上付文字、下付文字、タグ付与 For Each c In p.Range.Characters If Uline = False And Subs = False And c.Font.Underline <> wdUnderlineNone And c.Font.Subscript = True Then Print #1, "<u><sub>"; Uline = True Subs = True ElseIf Uline = False And Sups = False And c.Font.Underline <> wdUnderlineNone And c.Font.Superscript = True Then Print #1, "<u><sup>"; Uline = True Sups = True ElseIf Uline = True And Sups = True And c.Font.Underline = wdUnderlineNone And c.Font.Superscript = False Then Print #1, "</sup></u>"; Uline = False Sups = False ElseIf Uline = True And Subs = True And c.Font.Underline = wdUnderlineNone And c.Font.Subscript = False Then Print #1, "</sub></u>"; Uline = False Subs = False ElseIf Uline = False And c.Font.Underline <> wdUnderlineNone Then Print #1, "<u>"; Uline = True ElseIf Subs = False And c.Font.Subscript = True Then Print #1, "<sub>"; Subs = True ElseIf Sups = False And c.Font.Superscript = True Then Print #1, "<sup>" Sups = True ElseIf Sups = True And c.Font.Superscript = False Then Print #1, "</sup>"; Sups = False ElseIf Subs = True And c.Font.Subscript = False Then Print #1, "</sub>"; Subs = False ElseIf Uline = True And c.Font.Underline = wdUnderlineNone Then Print #1, "</u>"; Uline = False End If If Not c = vbCr Then Print #1, c; Next Print #1, "</p>" Next Print #1, "</html>" Close #1 End Sub |
次に、「実行」をすると、Word原稿と同じ場所に「同じファイル名.html」で保存されます。
マクロの特徴
インターネット出願ソフトでは、文字修飾(半角/下線/上付/下付)と改行をシンプルなコードのみ使用できます。
参考:https://www.pcinfo.jpo.go.jp/guide/Content/Rules/MojiRules.htm
そのため、HTML変換のマクロは、上記文字修飾のみ適切に変換して、使用できない文字修飾は無視するという考え方で作成しています。
具体的なコードは上のコードをご参考ください。
では以下に実際に動かしてみましょう。
ここでは、下付文字の出力例を紹介します。
記事の雛形は明細書ひながたをお使いください。
雛形はマクロをすでに組み込んでいます。
実際に動かしてみると次のようになります。
上の図のように、上記のような下付文字は、しっかり認識され、下記のようなHTMLコードで出力されます。
マクロの実行ボタンは、ツールバーに登録しておけば、ワンクリックでHTML化できます。
次回は、図面のHTML化する方法を紹介していきます!
このブログではこれからもどんどん特許事務に役立つ情報を発信していきますのでご覧いただければと思います!