プログラム

VA公用文:裁判所提出書類などの公用文の書式を自動設定(ワードVBA)

法律事務所では、一太郎を使っている人が多いですね。

ワードは、「インデントの設定が難しい」って言う人が多いみたいです。

それでは、VBAを使って、裁判所提出書類用のアウトラインやスタイル、インデントなどの書式を簡単に設定できるアドインを作ってみましょう。

インデントさえ簡単に設定できるようになれば、一太郎からワードに乗り換える人が増えるかも知れませんね。

このアドインは、書式の設定だけではなく、マークダウン↔アウトライン変換機能も備えています。

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

簡単に言うと、各段落の先頭に入力された「#」マークの数で、見出しのレベルを表す文章の表記法です。マークダウンにはほかにもいろいろな機能があるのですが、このマクロでは見出しとリストの機能だけを使っています。使ってみてもらえれば、その良さが分かると思います。

それは、楽しみですね。

特徴

  • 裁判所提出用書類や一般公用文などの書式に合わせたページ設定が行なえます。
    (各行の文字送りが揃うように右余白を自動調節します。)
  • ページ番号行番号も設定できます。
    (ページ番号を右上に配置した場合は、最終ページに”」”(カギカッコ)が付きます。)
  • サンプルを表示させることで、スタイルの確認ができます。
  • スタイルやアウトライン機能を使って見出しを設定できます。
  • マークダウン⇔アウトラインの変換ができます。
  • 見出しや本文のインデントが自動的に設定されます。
  • セクション区切りで見出し番号の振り直しができます。
  • マクロの定数を変更することでカスタマイズができます。

プログラムのダウンロード

使い方

準備

ダウンロードしたファイルを「スタートアップフォルダ」に保存すれば、アドインとして、いつでもマクロを利用できるようになります。(他の使い方もできますが、この方法を推奨します。)

セットアップ

クイックアクセスツールバーのホーム・マークをクリックすると、セットアップのフォームが表示されます。

セットアップ画面

作成する文書の種類などを選択して「OK」ボタンをクリックすると、選択した文書の種類に応じて現在表示されているドキュメントのページ設定、スタイルなどが設定されます行頭の空白はインデントに置き換えられます(マクロの定数を変更することにより、行わないように設定することもできます)。

タブ設定の既定値は1文字に変更されます。(「Tab」、「Shift+Tab」、「Ctrl+M」、「Ctrl+Shift+M」の各キーでインデントを手動で変更できます。)←New

「サンプルを追加」のオプションをオンにして、セットアップを実行した後、操作方法にしたがってマクロの動作を確認してください。

マクロの操作はすべてクイックアクセスツールバーから行います。

インデント解除⇔インデント設定

アウトラインが設定されている状態で、クイックアクセスツールバーの四角印を押すとインデントが解除されます。

インデントを解除した状態

クイックアクセスツールバーの右矢印を押すとインデントが設定されます。
セクション区切りがある場合は、見出し番号の振り直しも行われます。(セクション区切りを追加した場合は、一旦、マークダウンに変換してください。)←New

インデントを設定した状態

マークダウン⇔アウトライン変換

クイックアクセスツールバーの左矢印を押すとマークダウンに変換されます。インデントは自動的に解除されます。

マークダウンに変換した状態

またはクイックアクセスツールバーの右矢印を押すと、アウトラインに変換されます。インデントも自動的に設定されます。

アウトラインに変換した状態

マクロの対象となる段落

マクロによる自動調整が行われるのは、「見出し」、「標準」および「リスト段落」スタイルだけです。これ以外のスタイルが適用された段落には、自動調整が行われません

自動修正を行いたくない段落(文書の最後の付記など)には、「行間詰め」スタイルを適用してください。

  • 表内の段落には、インデント設定・解除時に「行間詰め」スタイルが自動的に適用されます。
  • 範囲を選択した状態で「四角」(ニュートラル)ボタンをクリックすると、その範囲のインデントと配置を維持したまま、「行間詰め」スタイルを適用できます。←New

最初の見出しまではマクロの対象外になっています。頭書の部分の書式(段落の中央揃えなど)は「標準」スタイルのままでも自動修正が行われません。(マクロの定数を変更することで、対象に含めることもできます。)

行頭に全角の「空白」があるとマクロが停止するようになっています。(マクロの定数を変更することで、停止しないようにすることもできます。セットアップを行うと行頭の空白はインデントに置き換えられます。)

制限事項

Mac用ワードでの使用には、次の制限があります。

  • マクロの定数を「VBA停止を許可する」に設定している場合、VBAが処理の途中で停止する場合があります。
  • クイックアクセスツールバーの再設定が必要です。
  • ステータスバーに進捗状況が表示されません。
  • マウスポインタがウエイト表示になりません。

他のテンプレートを併用した場合、アウトラインの設定はそのテンプレートの設定が優先します。
(このマクロを使ってセットアップしたテンプレートを使うことを推奨します。)

その他

文書の種類ごとのページ設定、アウトライン、スタイルなどの細部設定値は、定数を変更することによりカスタマイズできるようになっています。
細部は、「マクロのカスタマイズ」の項を参照してください。

このマクロを使わずに作成された文書も、標準的な手法でスタイルなどが設定されていれば、自動設定が可能です。標準的な手法によらない文書を読み込みたい場合は、「VA疑似アウトライン」を使って一旦マークダウンに変換してください。

見出しをゴシック体にしたり、次の段落と分離しないように設定したい場合は、「VAスタイル」を使用してください。

内容証明郵便については、別に紹介している「VA内容証明郵便」を併用して、字数および行数をチェックすることをおすすめします。

マクロの概要

このマクロは、自由に閲覧・編集できる状態になっています。

ファイルをエクスプローラーで右クリックして、「開く」を選択すると、アドイン・ファイル自体を編集できるようになります。その状態から、「開発」-「Visual Basic」をクリックするとマクロのエディターが起動します。

VBEを起動させたところ

マクロの特徴

このマクロのポイントは、「すべてのインデントをポイント単位で設定する」という点にあります。

インデントを手作業で設定する場合には文字単位で設定した方が便利ですが、見出し直後の文字の均等割付のインデントが乱れるなどの問題点があります。また、アウトラインの設定は文字単位で行えないため、アウトラインの設定をおこなった場合には、スタイルなどの再設定が必要となります。

このため、このマクロでは、ポイント単位でインデントを設定しています。見出しのレベルに応じてひとつひとつの段落に異なるインデントをポイント単位で設定するのは、手作業ではほぼ不可能ですが、マクロならばほどんど一瞬で行えます

各プロシージャのコード

各プロシージャのコードについては、サンプルファイルのVBEにコメントで説明していますので、そちらをご確認ください。

マクロのカスタマイズ

「Settings」モジュールには、このマクロの作動に必要な「定数」がまとめられています。この定数を変更することにより、マクロの動作をカスタマイズすることができます。

変更できる項目

  • アウトラインおよびインデントの設定値
  • ページ設定の設定値
  • サンプルの文面
  • スタイル、リスト、ページ、マークダウン記号、マクロ動作の各設定値(「設定ファイル名」←New、「行頭の空白をインデントに置き換える」、「最初の見出しまでの処理を停止する」、「行頭の空白後の処理を停止する」など)

著作権表示および変更履歴

このマクロの著作権表示変更履歴は、「ThisDocument」モジュールに記載しています。

参考文献

書式については、次の資料を参考にしています。

マークダウンからの変換については、こちらの記事を参考にしました。
素晴らしいアイデアを公開していただいたstabucky.com様に感謝申し上げます。

関連記事

どうでしょう。一太郎以上に簡単にインデントを設定できると思います。

マークダウンで文書を起案するようにすれば、スタイルなどを気にせずに文書の起案に集中できそうです。

ワードよりも動作の軽いエディターでスピーディーに入力を行い、コピー&ペーストでこのテンプレートに流し込むという方法もあります。

コメント

  1. keitaro より:

    はじめまして、この記事とWordファイルに感激しました。
    影本さまはセミナーなどやっていますでしょうか?
    「分かりやすい公用文の書き方 第2次改訂版」のルールに沿ったワードマークダウンが必要となっています。
    影本様にココナラなどで委託することはできますでしょうか?

    • 管理人 より:

      コメントありがとうございます。
      このテンプレートは、自分でも「イケてるんじゃないか?」と思っていましたので、このようなコメントを頂けて、こちらも感激しています。
      頂いたご質問への回答は、次のとおりです。
      ・セミナーは、行っていません。(それほどの能力はないと思っています。)
      ・業務の委託は引き受けておりません。(本サイトへの協賛金は受け付けております。)
      ・このテンプレートは、私の勤務する法律事務所のニーズに合わせたものであり、「分かりやすい公用文の書き方 第2次改訂版」のルールは確認していません。今後、対応について検討させていただきたいと思います。

  2. より:

    お初にお目にかかります。IT企業勤めですが、地方公共団体向けに報告書を納品するような部署にいる非プログラマーです。この「VA公用文」の細かい作りこみに感激いたしました。

    これまで最終的なレイアウトの調整に多大な時間を費やしていたのですが、マークダウンとWordの相互変換というアイデアで、ここまでスムーズな作業ができるとは思いませんでした。

    一般公用文で作成した文書を元行政マンに見せてもフォント、インデント、見出しは違和感ない仕上がりのようです。

    少しでも貢献できればと、まずは個人的に協賛させていただきます。

    • 管理人 より:

      ご丁寧なコメントをいただき、ありがとうございます。

      「報告書」ということであれば、表題や見出しをゴシック体にするというようなニーズがあるかもしれません。
      もしそうであれば、「VAスタイル」を併せて利用することで、フォントを簡単に変更したり、元に戻したりできます。

      また、「VA公用文」を使ったワードのマニュアルもこちらに掲載しています。
      裁判所提出書類用の内容となっていますが、一般公用文にもほとんどそのまま使えると思います。

      ご要望等ありましたら、遠慮なくお知らせください。

  3. 管理人 より:

    セットアップ時に行頭の空白をインデントに置き換える機能を追加しました。(Ver760)

    行頭に空白が入っているためにインデントが正常に設定されない事例が少なくないためです。

    この機能の追加により、従来は文書末尾の付記を自動インデントさせないために行頭に全角の空白を入れていましたが、この方法は使えなくなりました(セットアップを行うと行頭の空白が削除されるため)。自動インデントをさせたくない部分には、「行間詰め」スタイルを適用するようにしてください。

  4. 管理人 より:

    次の変更を行いました。(Ver 770)
    リソースの解放および不要なコマンドの削除
    マークダウン変換時に表内に「行間詰め」が設定されないバグを修正
    VBA停止を不能にするタイミングをより早いタイミングに変更
    動作不安定のためショートカットキーを削除
    使用頻度が低いため、右クリックメニューの設定機能、選択範囲のインデント設定・解除機能、新規文書作成時の設定画面削除機能を削除
    マクロ実行のダイアログボックスに表示されるプロシージャを削減

  5. 管理人 より:

    一般公用文の書式について、上下左右の余白を25mm、20mm、25mmおよび20mm、表題の配置を左右余白3文字に変更しました。(Ver790)

  6. 管理人 より:

    範囲を選択した状態で「四角」(ニュートラル)ボタンをクリックすると、その範囲のインデントと配置を維持したまま、「行間詰め」スタイルを適用できるようにしました。(Ver7A0)

  7. 管理人 より:

    文書ファイルを開いて最初のアウトライン設定時に2番目以降の見出し番号が表示されないバグを修正。
    選択範囲のインデント設定機能に使われていたプロシージャを削除(Ver7B0)

  8. 管理人 より:

    速度向上のため、ニュートラル時にアウトラインの場合のみインデントを解除するようにしました。
    見出しがなく、マークダウンもない場合にニュートラルにするとインデントを解除するようにしました。
    見出しのない状態でセットアップした場合に対応させるため、インデント解除時にアウトラインを設定するようにしました。(Ver7C0)

  9. 管理人 より:

    速度向上のため、セットアップ時のリスト設定を削除しました。
    セットアップ時のリスト設定は、インデント解除によって行うようにしました。(Ver7D0)

  10. 管理人 より:

    リストのインデントの基準が見出しであることを明確化しました。
    インデント設定の順番を適正化しました。(Ver7D1)

  11. 管理人 より:

    次のとおり変更しました。(Ver800)
    ・ビジネス文書に対応
    ・装飾付ページ番号に対応
    ・箇条書きまたは段落番号以降は、マクロの対象とするように変更(見出しのない文章にも対応)
    ・セクション区切りの検出処理を簡素化
    ・インデント時のアウトライン及びリスト設定を削除することでコードを簡素化(見出しや段落番号の番号に問題が生じた場合には、一旦マークダウンに変換することが必要)
    ・アウトライン及びリスト設定の再設定を可能にするため、セットアップ時にマークダウンへの変換を追加
    ・インデントの開始・終了段落設定機能を削除し、進捗率算定を簡素化
    ・リストおよびアウトラインのフォント関連の設定をスタイルに連動するように修正(VAスタイルによるスタイル変更を自動的に反映)
    ・セットアップ時の各プロシージャにエラー処理を追加
    ・設定をテンプレートではなく、設定ファイルに保存するように変更
    ・セットアップメニューの初期値設定機能を削除
    ・オブジェクト変数の解放を追加
    ・ヘルプ表示機能を削除

  12. 管理人 より:

    セットアップ開始後にキャンセルした場合に完了メッセージが表示されるバグを修正しました。
    文書スタイルを変更した場合にアウトラインに関する変更が反映されないバグを修正しました。
    変数クラスの解放を削除しました。(不適切なタイミングで解放される場合があるため)(Ver801)

  13. 管理人 より:

    ビジネス文書のインデントを修正しました。(Ver802)

  14. 管理人 より:

    ヘッダー及びフッターが完全に削除されないバグを修正しました。(Ver803)

  15. 管理人 より:

    標準スタイルの行間が設定されない場合があるバグを修正しました。(Ver804)

  16. 管理人 より:

    契約書のページ設定を公文書から分離独立させました。
    表題の配置を文書の種類に応じて設定するようにしました。
    セットアップを中断した場合にフォームを再起動するように修正しました。(Ver810)

  17. 管理人 より:

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

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