VA疑似アウトライン:見出しをマークダウンや疑似アウトラインに変換(ワードVBA)

サンプル

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

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

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

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

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

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

よろしくお願いします!

サンプルのダウンロード

Windowsをご利用の場合は、こちらの統合版をダウンロードしてください(自動でインストールできます)。

Macをご利用の場合は、こちらをダウンロードして手動でインストールしてください。

Word版VBAアドインの手動インストール

使用方法

VA公用文シリーズ(統合版) 操作マニュアル

ボタン

リボンの「VA」タブの「VA疑似アウトライン」グループに、3つのボタンがあります。Windows版では、「マークダウン変換」と「疑似アウトライン変換」が、クイックアクセスツールバー(画面左上のアイコン)にも追加されます。

  • マークダウン変換:手入力の番号とインデントで組んだ見出し(疑似アウトライン)を、マークダウン(「#」などの記号)に変換します。Wordの見出しスタイルや段落番号も、マークダウンに変換します。あわせて、フォントと段落の書式を「標準」に戻します。
  • 疑似アウトライン変換:マークダウンを、疑似アウトラインに変換します。文字を選んで押すと、選んだ括弧付きの番号を、全角1文字の幅に縮めます。
  • 変換設定:変換の設定画面を開きます。

使い方

他の人が作った文書を、マークダウンに直す

  1. 写しを作る:変換は元に戻せない可能性があります。元の文書を残したい場合は、別の名前で保存した写しを開きます。
  2. マークダウン変換を押す:リボンの「VA」タブの「マークダウン変換」を押し、確認のメッセージで「OK」を押します。
  3. 結果を確かめる:見出しの番号が「#」の数に、「・」などの箇条書きが「-」に置き換わります。番号として認識されなかった見出しは、手で「#」を付けます。

番号と「#」の数の対応は、次のとおりです。

  • 第1 → #
  • 1 → ##
  • (1) → ###
  • ア → ####
  • (ア) → #####
  • a → ######
  • (a) → #######
  • i → ########
  • (i) → #########

「1(1) 〇〇」のような複合見出しは、「## 」の行と「### 〇〇」の行に分けて変換します。

マークダウンに直した文書は、VA公用文の「アウトライン」で、Wordの正式なアウトライン(見出しスタイル)にできます。疑似アウトラインに戻す場合は、「疑似アウトライン変換」を押します。

マークダウンを、疑似アウトラインにする

  1. 文字を選ばずに押す:文書のどこかにカーソルを置き(文字は選ばない)、「疑似アウトライン変換」を押して、確認のメッセージで「OK」を押します。
  2. 結果を確かめる:「#」の数に応じて、上の対応のとおり「第1」「1」「(1)」…の番号が付き、レベルに応じたインデントが設定されます。見出しの下の本文には、見出しの文字の位置に合わせたインデントと、1字の字下げが設定されます。行頭の「- 」は「・」に、「1. 」は「①」「②」…になります。

番号は、レベルごとに、出てきた順に付きます。番号はWordの段落番号の機能ではなく、文字として入ります。見出しを足したり消したりした場合は、「マークダウン変換」でいったんマークダウンに戻し、「疑似アウトライン変換」でもう一度変換すると、番号が振り直されます。

複合見出しを作る

「1(1) 〇〇」のように、同じ行に2つのレベルの番号を並べるには、マークダウンで、記号だけの行(「##」)の次の行に、1つ下のレベルの見出し(「### 〇〇」)を書きます。「疑似アウトライン変換」を押すと、2つの行が1つの見出し「1(1) 〇〇」になります。

番号を全角1文字の幅に縮める

「(1)」「(10)」「(ア)」など、括弧で始まる文字を選んで「疑似アウトライン変換」を押すと、文字の倍率を変えて、全角1文字の幅に縮めます。縮めた文字を選んで、もう一度押すと、元の幅に戻ります。

変換設定

「変換設定」を押すと、次の2つを選べます。「OK」を押すと、設定はアドインに保存され、次からも使われます。

  • 行間詰めスタイルも変換する(既定:オフ):オフのときは、「行間詰め」スタイルの段落を変換しません。
  • 見出し番号を全角1文字に調節する(既定:オン):「疑似アウトライン変換」で付ける番号のうち、「(1)」「第1」のような半角の文字や2桁の番号を、文字の倍率を変えて全角1文字(「第」の後は全角1文字)の幅にそろえます。

変換の対象にならない段落

  • 最初の見出しより前の段落(表題や当事者の表示など)
  • 最初の見出しより後で、右揃えの段落(「以上」など)と、それより後の段落
  • 「行間詰め」スタイルの段落(変換設定で変えられます)

表の中の段落には、変換のときに「行間詰め」スタイルが設定されます(フォントと配置はそのままです)。行頭の空白は、インデントに置き換えます。セクション区切りがある場合は、セクションごとに番号を1から振り直します。

注意点

  • 「マークダウン変換」は、フォントと段落の書式を「標準」に戻します。太字・下線などの文字の書式も消えるので、残したい書式は、変換の後で付け直してください。
  • 変換の途中でエラーが出て止まった場合は、文書が途中まで変換されたままになります。写しを使っていれば、写しを閉じて、元の文書からやり直せます。
  • 番号の書式(「第1」「1」「(1)」…)やインデントの幅は、アドインの定数(Settings モジュール)で変えられます。全角主体・すべて半角の書式の例も、Settings モジュールに書いてあります。
  • 「疑似アウトライン変換」は、「#」「- 」「1. 」で始まる段落を、見出し・箇条書き・段落番号として扱います。本文の行頭に、これらの記号を書かないでください。

コメント

  1. 管理人 より:

    従来紹介していた「VAアウトライン」と併用するとクイックアクセスツールバーが動作しないバグがあったため、修正しました。(Ver101)

  2. 管理人 より:

    見出し番号を全角1文字分の幅にすることで、複合見出しのできない見出しレベルがないようにしました。(Ver200)

  3. 管理人 より:

    段落番号の序数が増加しないバグを修正しました。(Ver201)

  4. 管理人 より:

    疑似アウトラインへの変換時に番号スタイルを選択できるようにしました。(Ver210)

  5. 管理人 より:

    次のとおり変更しました。(Ver300)
    ・マクロ対象段落のフォント書式及び段落書式をリセットするように修正(特殊なフォントを使ったり、行間を設定している文書のマークダウン化が可能になる)
    ・見出しより前や空白の後も処理を行うのを標準設定に変更
    ・オプションメニューの初期値設定機能および番号書式選択機能を削除
    ・オプションメニューに「見出し番号を全角1文字に調節する」のオプションを追加
    ・オプションメニューに行間詰めも変換する機能を追加
    ・オブジェクト変数の解放を追加
    ・オプション設定値をテンプレートではなく設定ファイルに保存

  6. 管理人 より:

    変数オブジェクトの生成および解放コードを追加しました。(Ver301)

  7. 管理人 より:

    マークダウン記号の後ろに空白がある場合にも複合見出しを可能にしました。
    「マークダウン記号の後ろの空白」のデフォルト値をTrueに変更しました。(Ver311)

  8. 管理人 より:

    「最初の見出しまでの処理を停止する」のデフォルト値をTrueに変更しました。(Ver312)

  9. 管理人 より:

    文頭に数字だけが入力されている場合に段落番号と判断するバグを修正しました。
    過去に使用していた右クリックメニューが残っていたのを削除しました。(Ver313)

  10. 管理人 より:

    段落の配置が「右揃え」の場合にも、マクロを停止するようにしました。(Ver320)

  11. 管理人 より:

    行頭の空白で処理を停止する機能を削除しました。(Ver321)

  12. 管理人 より:

    「右揃え」の段落のスタイルが「行間詰め」以外のすべての場合に処理を停止するように修正しました。(Ver322)

  13. 管理人 より:

    設定値の保存先を設定ファイルからカスタムドキュメントプロパティに変更しました。(Macで動作するようにするため)
    EnableCancelKeyの設定オプションを削除しました。(Mac用Wordの不安定が改善されたため)(Ver330)

    Ver300~Ver322がスタートアップフォルダに自動作成していた「VA疑似アウトライン.ini」ファイルは、不要となりましたので削除してください。

  14. 管理人 より:

    変換モジュールの処理を高速化しました。
    モジュールの構成を変更しました。
    事前の書式設定処理をクラス化しました。
    プロジェクト名をVA_FakeOutlineに変更しました。(Ver340)

  15. 管理人 より:

    括弧付きの文字列を全角1文字分の文字幅になるように縮小する機能を追加しました。(Ver350)

  16. 管理人 より:

    次のとおり変更しました。
    (Ver360)
    ・リボンから起動できるようにしました。
    (Ver361)
    ・行頭の半角空白の削除をSelection操作からRange操作に変更しました(処理中はスマート カット アンド ペーストを無効にし、処理後に元の設定に戻します)。
    ・空白を削除できなかった場合に処理が終わらなくなるのを防ぐ処理を追加しました。
    (Ver370)
    ・疑似アウトライン・マークダウンへの変換と、全角1文字の設定・解除を、Ctrl+Z 1回で元に戻せるようにしました(Mac版Wordでは、動作を確認できていないため、既定で無効にしています)。
    ・変換の確認メッセージの「元に戻せない可能性があります。」を「Ctrl+Zで元に戻せます。」に変更しました。
    (Ver371)
    ・Ctrl+Z 1回で元に戻す機能を廃止しました(元に戻す(Undo)の記録の中で文書を書き換えると、Wordが強制終了する場合があるため)。
    ・変換の確認メッセージを「元に戻せない可能性があります。」に戻しました。
    (Ver372)
    ・「(1)」「(10)」「第」だけの段落があると、マークダウン変換がエラーで止まるバグを修正しました。
    ・「(ア)」だけの段落があると、それより後の段落の複合見出しが分割されないバグを修正しました。
    ・疑似アウトライン変換で、見出し番号・箇条書き・段落番号の後に、余分な半角空白が入るバグを修正しました。
    (この記事)
    ・仕様を、利用者向けのマニュアル(ボタン・使い方・変換設定・注意点)に置き換えました。

タイトルとURLをコピーしました