サンプル

アウトライン設定(ワードVBA)

VBAを使って、ワードのアウトラインを自動的に設定するマクロを紹介します。その際にスタイルを使った書式の設定も自動で行うようにしています。

ワードの書式設定って、インデントが微妙にズレたりして、面倒ですからね。

そうですね。また、このマクロは、マークダウン記法で見出しのレベルを指定できるようになっています。

マークダウン記法って何ですか?

簡単に言うと、各段落の先頭に入力された「#」マークの数で、見出しのレベルを表す文章の表記法です。使ってみてもらえれば、その良さが分かると思います。

なんだか、楽しみですね。

ダウンロード

まずは、こちらからサンプルファイルをダウンロードして、使ってみてください。

ZIPファイルを解凍し、ダウンロードしたWordファイル(マクロ有効テンプレート)をWordのスタートアップ・フォルダにコピーすると、アウトライン設定機能がいつでも使えるようになります。

マクロを使用するためには、セキュリティの設定が必要な場合があります。

使用方法

  • マークダウンを使って、見出しのレベルを指定します。
    • 見出し記号には、「#」を使用します。
  • Ctrl+Shift+mを押すとマクロが起動し、次の処理を行います。
    • 「MS明朝」「12pt」で裁判文書の様式に沿ったスタイルとアウトラインを設定します。
    • マークダウンの見出し記号に応じて、スタイルとアウトラインのレベルを設定します。
  • もう一度Ctrl+Shift+mを押すとマクロが起動し、次の処理を行います。
    • スタイルとアウトラインのレベルに応じてマークダウンの見出し記号を入力します。
    • スタイルとアウトラインを解除します。
  • このファイル自体を開く(エクスプローラーで右クリックして「開く」を選択してください)と、次のことが可能です。
    • オプション(見出し記号、フォントサイズ、フォント名)の設定
    • 使用方法の確認
    • 履歴の確認
    • サンプルによる動作確認

作動の一例

マークダウン記号を使って入力した状態
アウトラインに変換した状態

マークダウンを用いて文書を書くのには、Merryというエディタが便利です。マークダウンした見出しを階層的に表示してくれます。

Markdown用にテキストエディタMeryのアウトライン機能を設定する

ワードは、アウトラインを設定すると、ショートカットキーで見出しのレベルの変更などができます。これは、ものすごく便利な機能なので、この機能だけでも使ってみることをお勧めします。

アウトラインモードでレベルを変更するショートカットキー:Word(ワード)の使い方/段落書式
Word(ワード)でアウトラインモードを利用しているときに、レベルを変更するには、ショートカットキーを利用するのが便利でおすすめです。

なお、このサンプルは、ワードによる文書作成にVBAを利用する際の参考にしていただくためのものです。
それぞれの法律事務所のやり方に従って、修正を加えて使用してください。

そのまま使うだけでは、ダメなのですか?

それでもかまわないですが、マクロの構造さえ理解できれば、さまざまな設定を自由にカスタマイズできるようになります。ぜひ、挑戦してみてください。

マクロの構造

VBEへの入力位置

テンプレート・ファイルを開いてから、「開発」-「Visual Basic」をクリックして、VBEを起動してください。
(テンプレート・ファイルは、エクスプローラーでダブルクリックするとコードが開かない状態になります。右クリックで「開く」を選択して、テンプレート自体を編集可能状態で開いてください。)

左上の「プロジェクト・エクスプローラー」部で各モジュールをクリックすると、そこに記載されているコードが真ん中の「コード・エディター」部に表示されます。

このマクロのコードは、すべて標準モジュールに記載されています。

ドキュメント・モジュールに、コードを書かないのはなぜですか?

このマクロは、アドインとして、自分以外のドキュメントをコントロールするので、標準モジュールに記載しています。ドキュメント・モジュールにコードを書いてしまうと、他のドキュメントをコントロールすることができません。

マクロの構成

「アウトライン設定」マクロの構成は、次の図のようになっています。

マクロの構成

「FormatToggle」のプロシージャの起動は、ショートカットキーにより行っています。「標準」スタイルを設定するショートカットキーが「Ctrl+Shift+n」なので、それに合わせて「Ctrl+Shift+m」に設定しています。この設定は、ワードのオプションで自由に変更できます。

ワードでは、イベントプロシージャは使えないのですか?

使えますが、このマクロを起動させるのに適当なものがないので、ショートカットキーを使っています。

各プロシージャの機能

StartUp」プロシージャは、Ctrl+Shift+mを押すと起動し、アドイン・ワークブックからオプションを読み込んでから、「FormatToggle」を起動します。

FormatToggle」プロシージャは、アクティブ・ワークブックの状態に応じて、次の処理を行います。

  • アウトラインが設定されている場合
    • 最初の「見出しスタイル」からそれ以降の「行頭に空白文字が入力されている行」までの間の段落について、スタイルとアウトラインのレベルに応じた数のマークダウン記号を入力し、標準スタイルを適用します。
  • マークダウン記号が入力されている場合
    • オプションで設定されたフォントサイズ、フォント名および見出し番号でスタイルとアウトラインを設定します。
    • 最初の「マークダウン記号」からそれ以降の「行頭に空白文字が入力されている行」までの間の段落について、マークダウン記号の数に応じたスタイルとアウトラインのレベルを設定し、マークダウン記号を削除します。
  • マークダウンもアウトラインも入力・設定されていない場合
    • オプションで設定されたフォントサイズ、フォント名および見出し番号でスタイルとアウトラインを設定します。
    • すべての段落に標準スタイルを適用します。

MarkdownToOutline」プロシージャは、マークダウンの見出し記号に応じ、アウトラインとスタイルのレベルを変更します。標準スタイルの段落は、その直前の見出しレベルに応じてインデントを設定します。

OutlineToMarkdown」プロシージャは、各段落にアウトラインのレベルに応じた数のマークダウンの見出し記号を追記し、標準スタイルに変更します。

ConfigStyle」は、公用文方式でスタイルを設定します。

ConfigOutline」は、公用文方式でアウトラインを設定します。

以上で、アウトライン設定マクロの概要の説明を終わります。

マクロの全体的な構造は分かりました。あとはプログラムの細部ですね。

そうですね。それについては、サンプルファイルのコードにできるだけ詳しいコメントを付けてありますので、そちらをご覧ください。

これを使えば、ワードで文書を作るたびに、書式を設定する手間が省けますね。でも、うちの弁護士が「マークダウン」を使うことはないと思います。

その場合は、アウトラインとスタイルを設定する部分だけを使ってみてはどうですか?

そうですね。それだけでも書式を整えるのが楽になりますね。

このマクロを作成するにあたっては、こちらの記事を参考にさせていただきました。
素晴らしいアイデアを公開していただいたstabucky.com様に感謝申し上げます。

行頭の#の数に応じて見出しを設定 | You Look Too Cool
Markdown記法というものがあります。You Look Too Cool » Markdown記法その中に「#見出し

コメント

  1. 管理人 より:

    各プロシージャの細部説明を記事から削除し、サンプルファイル内のコードにコメントとして追加しました。
    これに伴い、バージョンを2.00から2.01に変更しました。
    (マクロの機能には、変更ありません。)

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