従来紹介していた「VAスタイル」は、こちらで紹介する「VA見出し変換」に統合しました。

他の人からもらったワードファイルは、ワードの機能を使わずに、手作業で書式を設定しているものが多くて、修正するのが大変です。

そうですよね。「VA公用文」などのマクロを使った書式設定になれると、手作業には戻れないですよね。そういった書式でもマークダウンに変換できるマクロを作ってみましょう。

それと、裁判所から届いた文書には、こんな書式がありました。
1(1) 〇〇は〇〇である。
(2) △△は△△である。
この書式を真似してみたいのですが、さすがにこれは手作業でやるしかないですよね?

正式な呼び方ではないと思いますが、「複合見出し」と呼ばれる書式ですね。ワードのアウトラインでは実現できませんが、「疑似アウトライン」でよければマクロで自動設定ができると思います。

「疑似アウトライン」って何ですか?

これも正式な呼び方ではないと思いますが、「疑似アウトライン」とは、ワードのスタイル機能やアウトライン機能を使わずに、手動で番号や記号を付けて階層構造を表現した見出しのことです。「複合見出し」のようなワードに機能がない書式も実現できます。

よろしくお願いします!
ダウンロード
使い方
準備
ダウンロードしたファイルを「スタートアップフォルダ」に保存すれば、アドインとして、いつでもマクロを利用できるようになります。
別に紹介している「VA公用文」と併用すれば、このアドインでマークダウンに変換した文書にアウトラインやスタイルを設定できます。また、スタイルやページ設定などの設定も簡単に行えます。
手書き書式(疑似アウトライン)→マークダウン
手作業書式(疑似アウトライン)で書かれたワード・ファイルを開いた状態で、クイックアクセスツールバーのこのボタンをクリックすると、見出しなどがマークダウンに変更されます。

行われる処理は次のとおりです。
- スタイルまたはアウトラインが設定された次の書式をマークダウンに変換
- 見出し
- 箇条書き
- 段落番号
- 番号などが手入力された次の書式をマークダウンに変換
- 見出し
- アラビア数字:「第1」、「1」、「1.」、「(1)」(全・半角の区別なし、3桁以下のみ)
- カタカナ:「ア」、「(ア)」(全・半角の区別なし)
- 英字:「a」、「(a)」(全・半角の区別なし、aからhまでの小文字のみ)
- ローマ数字:「i」、「v」、「x」(半角小文字のみ、7桁以下のみ)
- 箇条書き:「・」、「-」(全・半角の区別なし)
- 段落番号:「①」
- 見出し
- すべての段落に「標準」スタイルを適用
- 次の場所にある空白文字(全角・半角)およびピリオドを削除
- 行頭
- 見出し番号の直後
- 最初の見出しまでの段落と「行間詰め」スタイルに設定された段落は処理の対象外
変換前(手書き書式, 疑似アウトライン, アウトライン)


変換後(マークダウン)

マークダウン→疑似アウトライン
マークダウンで書かれたワードファイルを開いた状態でこのボタンを押すと疑似アウトラインアウトラインを使わずに見出し番号をテキストで入力した書式)に変換されます。

行われる処理は、次のとおりです。
- マークダウンの記号に応じて、疑似アウトライン(アウトラインを使わずに見出し番号をテキストで入力した書式)を設定
- 同じくインデントを設定
- 見出しのマークダウン記号だけの段落は、複合見出し(同じ行に2つのレベルの見出しを連続して記載する書式)に変換
- セクション区切りで見出しの開始番号をリセット
- 最初の見出しまでの段落と「行間詰め」スタイルに設定された段落は処理の対象外
変換前(マークダウン)


変換後(疑似アウトライン)

複合見出しへの対応
見出しのマークダウンだけの行は、複合見出し(同じ行に2つのレベルの見出しを連続して記載する書式)に変換されます。
変換前(マークダウン。テキストのない見出しあり)


変換後(疑似アウトライン。テキストのない見出しは複合見出しとして処理)

マクロの構造
ファイルをエクスプローラーで右クリックして、「開く」を選択すると、ファイル自体を編集できるようになります(そのままダブルクリックすると、新規文書が作成されてしまいます)。その状態から、「開発」-「Visual Basic」をクリックしてVBEを起動すると、マクロの構成や内容を確認することができます(そのまま編集することもできます)。
このマクロの特徴は、アウトラインを使わずに番号などを手入力しているドキュメントにも対応していることです。その際には、各段落のテキストをLike関数を使って確認し、それに適合するマークダウン記号を割り当てています。
Like関数の使い方については、こちらの記事(エクセルVBAに関するものです)を参考にしました。
プロシージャ内のコードの細部については、サンプルファイルのプログラムにコメントで記載していますので、そちらを御覧ください。
カスタマイズ
標準モジュール「Setting」の定数を修正することより、マークダウン記号などのカスタマイズが可能です。詳細はモジュール内のコメントを参照してください。
履歴
「ThisDocument」モジュール内に記載しています。
制限事項
- 複合見出しに対応しているのは、「1(1)」のパターンと「ア(ア)」のパターンのみです。他のパターンでも動作しますがインデントは揃いません。
- スタイルやページ設定などの設定機能はありません。別に紹介している「VA公用文」をご利用ください。
- Mac版ワードで使用する場合は、クイックアクセスツールバーの再設定および標準モジュール「Setteing」内の定数の変更が必要です。
コメント
従来紹介していた「VAアウトライン」と併用するとクイックアクセスツールバーが動作しないバグがあったため、修正しました。(Ver101)