サンプル

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

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

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

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

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

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

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

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

それは、楽しみですね。

ダウンロード

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

このバージョンは、Ver551から太字変換機能を削除したダウングレード版です。
太字変換の機能は、こちらの記事で紹介している「VAスタイル」に移管しました。

使い方

準備

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

セットアップ

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

セットアップ画面

作成する文書の種類などを選択して「OK」ボタンをクリックすると、現在表示されているドキュメントのページ設定、アウトライン、スタイルなどを設定できます。

「ヘルプ」ボタンをクリックすると、簡単な説明が表示されます。

ヘルプ画面

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

マクロは、ショートカットキーで操作するのを基本にしていますが、クイックアクセスツールバーまたは右クリックメニューでも一部の操作が行なえます。

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

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

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

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

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

マクロの対象となる段落

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

表などの自動修正を行いたくない段落には、「行間詰め」スタイルを適用してください。

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

行頭に全角の「空白」があるとマクロが停止するようになっています。文末の補足の書式(段落の中央揃えなど)も、空白がある行より下に記載すれば、「標準」スタイルのままでも自動修正されません。(マクロの定数を変更することで、停止しないようにすることもできます。)

制限事項

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

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

その他

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

ショートカットの割当を変更したい場合は、こちらの記事をご参照ください。

クイックアクセスツールバーの設定を変更したい場合は、こちらの記事をご参照ください。(リボンへの登録方法も紹介されています。)

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

見出しレベルの設定には、「Alt+Shift+左または右矢印キー」のショートカットを使うのがおすすめです。

マクロの概要

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

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

VBEを起動させたところ

マクロの特徴

このマクロのポイントは、「スタイルやアウトラインではインデントを設定しない」という点にあります。

インデントを手作業で設定する場合にはスタイルやアウトラインで設定した方が便利ですが、マクロで設定する場合にはかえって邪魔になります。

このため、このマクロでは、スタイルやアウトラインではインデントを設定せず、段落ですべてのインデントを設定しています。その際には、文字単位の設定だけを使用しています。(スタイルに設定されているインデントは、見出し番号が左余白に入り込むのを防ぐためのもので、段落のインデントでオーバーライドされます。)

見出しのレベルに応じてひとつひとつの段落に異なるインデントを設定するのは大変な作業ですが、マクロならばほとんど一瞬で行えます

各モジュールおよびプロシージャの機能

フォーム

フォームの中にセットアップ・フォームがあり、セットアップ用オプションの設定に必要なプロシージャが納められています。

標準モジュール

標準モジュールの中に5つのモジュールがあり、それぞれの動作に必要なプロシージャが収められています。

マクロの構成(背景が青色のプロシージャは、ショートカットキーまたはメニューで起動できる。)

クラスモジュール

クラスモジュールの中に4つのモジュールがあり、標準モジュールの各プロシージャから呼び出されます。

各プロシージャのコード

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

アドインのカスタマイズ

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

Option Explicit

'◯クラスを宣言
Public Variables As New Variables       '設定用変数クラスを宣言
Public Arrays As New Arrays             '設定用配列クラスを宣言
Public List As New List                 'リスト適用クラスを宣言

'〇設定用定数(フォームにより値を選択するもの)を宣言する
'すべてのモジュールで使用できるようにするため、Publicで宣言しています。
'クラスモジュール内のプロシージャにより、変数化および配列化して用いられます。

'準拠
'資料1:「裁判文書(裁判所提出書類)の標準的な書式」http://www5d.biglobe.ne.jp/Jusl/Bunsyo/Suujihyouki2.html
'資料2:「内容証明 ご利用の条件等」https://www.post.japanpost.jp/service/fuka_service/syomei/use.html
'資料3:「公用文の書き方」第2次改訂版 磯崎陽輔著 株式会社ぎょうせい
'資料4:「契約書フォーマット」経済産業省 https://www.meti.go.jp/information_2/publicoffer/keiyaku_format.html
'資料5:「契約書の達人」https://xn--wtsq13a09q.jp/how-to-write-operative-part/

    'アウトラインおよびインデント
    '設定項目ごとにレベル1から10(レベル10は本文)までの設定値を「,」で区切って記載してください。
    '番号書式
        '文字種および全・半角の別に関係なく、レベルに応じて%1~%9を入力してください。
        '番号の前後に入れる文字および空白をそのまま追加してください。
        '例:第1:"第%1 "、第1:"第%1 "、"1:"%1 "、(1):"(%1) "
    '番号スタイル
        '文字種および全・半角の別に応じて、組み込み定数を入力てください。
        '英字およびローマ数字には全角が使えません。
        '全角アラビア数字:14、半角アラビア数字:0、全角カタカナ:20、半角カタカナ:12
        '英字(小文字):4、ローマ数字(小文字):2、丸囲み数字:18
    'リスト開始レベル
        '見出し番号をリセットするアウトラインレベルの値を入力してください。
        '例:直上のレベル:1(自分のレベルの値から1を減じたもの)、リセットしない:0
    '開始番号
        '見出し番号の開始番号を入力してください。
        '例:1から開始:1、2から開始:2
    '左インデント
        '見出し番号を除いた部分に設定する左インデントを文字数単位で入力してください。
        '例:0文字:0、1文字:1、1.5文字:1.5
    '最初の行のインデント
        '見出し番号を除いた部分に設定する最初の行のインデントを文字数単位で入力してください。
        '例:1文字の字下げ:1、1.5文字のぶら下げ:-1.5
    '左インデント増加量
        'アウトラインレベルに応じて自動的に増加させる左インデントの値を文字数単位で入力してください。
        '例:1文字ずつ増加:1、増加させない:0
    
        '①裁判所提出書類用
        '次の定数の組み合わせの中から、1組をコメント解除してください。
        '「資料1」に準拠 第1 、1 、(1) 、ア 、(ア) 、a  、(a) 、i 、(i) 、標準
        Public Const strNumberFormats1 As String = "第%1 ,%2 ,(%3) ,%4 ,(%5) ,%6 ,(%7) ,%8 ,(%9) ,"    '番号書式
        Public Const strNumberStyles1 As String = "14,14,0,20,12,4,4,2,2,"                                  '番号スタイル
        Public Const strResetOnHighers1 As String = "0,1,2,3,4,5,6,7,8,0"                                   'リスト開始レベル
        Public Const strStartAts1 As String = "1,1,1,1,1,1,1,1,1,0"                                         '開始番号
        Public Const strLeftIndents1 As String = "1,1,1,1,1,1,1,1,1,0"                                      '左インデント
        Public Const strFirstLineIndents1 As String = "2,1,1,1,1,1,1,1,1,1"                                 '最初の行のインデント
        Public Const lngLeftIndentsAdd1 As Long = 1                                                         '左インデント増加量
    
        'オリジナル 第1 、1 、(1) 、ア 、(ア) 、a 、(a) 、i 、(i) 、標準
'        Public Const strNumberFormats1 As String = "第%1 ,%2 ,(%3) ,%4 ,(%5) ,%6 ,(%7) ,%8 ,(%9) ,"    '番号書式
'        Public Const strNumberStyles1 As String = "14,14,0,20,12,4,4,2,2,"                                      '番号スタイル
'        Public Const strResetOnHighers1 As String = "0,1,2,3,4,5,6,7,8,0"                                       'リスト開始レベル
'        Public Const strStartAts1 As String = "1,1,1,1,1,1,1,1,1,0"                                             '開始番号
'        Public Const strLeftIndents1 As String = "2,1,1,1,1,1,1,1,1,0"                                          '左インデント
'        Public Const strFirstLineIndents1 As String = "1,1,1,1,1,1,1,1,1,1"                                     '最初の行のインデント
'        Public Const lngLeftIndentsAdd1 As Long = 1                                                             '左インデント増加量
    
        '②内容証明用
        '「資料2」に準拠 第1 、1 、(1)、ア 、(ア)、a 、(a)、i 、(i)、標準
        Public Const strNumberFormats2 As String = "第%1 ,%2 ,(%3),%4 ,(%5),%6 ,(%7),%8 ,(%9),"    '番号書式
        Public Const strNumberStyles2 As String = "14,14,14,20,20,4,4,2,2,"                                     '番号スタイル
        Public Const strResetOnHighers2 As String = "0,1,2,3,4,5,6,7,8,0"                                       'リスト開始レベル
        Public Const strStartAts2 As String = "1,1,1,1,1,1,1,1,1,0"                                             '開始番号
        Public Const strLeftIndents2 As String = "1,1,1,1,1,1,1,1,1,0"                                          '左インデント
        Public Const strFirstLineIndents2 As String = "2,1,1,1,1,1,1,1,1,1"                                     '最初の行のインデント
        Public Const lngLeftIndentsAdd2 As Long = 1                                                             '左インデント増加量
            
        '③公用文用
        '次の定数の組み合わせの中から、1組をコメント解除してください。
        '「資料3」に準拠 第1 、1 、(1) 、ア 、(ア) 、a 、(a) 、i 、(i) 、標準
        Public Const strNumberFormats3 As String = "第%1 ,%2 ,(%3) ,%4 ,(%5) ,%6 ,(%7) ,%8 ,(%9) ,"    '番号書式
        Public Const strNumberStyles3 As String = "14,14,0,20,12,4,4,2,2,"                                  '番号スタイル
        Public Const strResetOnHighers3 As String = "0,1,2,3,4,5,6,7,8,0"                                   'リスト開始レベル
        Public Const strStartAts3 As String = "1,1,1,1,1,1,1,1,1,0"                                         '開始番号
        Public Const strLeftIndents3 As String = "1,1,1,1,1,1,1,1,1,0"                                      '左インデント
        Public Const strFirstLineIndents3 As String = "2,1,1,1,1,1,1,1,1,1"                                 '最初の行のインデント
        Public Const lngLeftIndentsAdd3 As Long = 1                                                         '左インデント増加量
    
        '「資料3」に準拠 第1 、1 、(1) 、ア 、(ア) 、a 、(a) 、i 、(i) 、標準
'        Public Const strNumberFormats3 As String = "第%1 ,%2 ,(%3) ,%4 ,(%5) ,%6 ,(%7) ,%8 ,(%9) ,"    '番号書式
'        Public Const strNumberStyles3 As String = "14,14,0,20,20,4,4,2,2,"                                  '番号スタイル
'        Public Const strResetOnHighers3 As String = "0,1,2,3,4,5,6,7,8,0"                                   'リスト開始レベル
'        Public Const strStartAts3 As String = "1,1,1,1,1,1,1,1,1,0"                                         '開始番号
'        Public Const strLeftIndents3 As String = "1,1,1,1,1,1,1,1,1,0"                                      '左インデント
'        Public Const strFirstLineIndents3 As String = "2,1,1,1,1,1,1,1,1,1"                                 '最初の行のインデント
'        Public Const lngLeftIndentsAdd3 As Long = 1                                                         '左インデント増加量
    
        '「資料3」に準拠 第1 、1 、(1) 、ア 、(ア) 、a 、(a) 、i 、(i) 、標準
'        Public Const strNumberFormats3 As String = "第%1 ,%2 ,(%3) ,%4 ,(%5) ,%6 ,(%7) ,%8 ,(%9) ,"   '番号書式
'        Public Const strNumberStyles3 As String = "14,14,14,20,20,4,4,2,2,"                                 '番号スタイル
'        Public Const strResetOnHighers3 As String = "0,1,2,3,4,5,6,7,8,0"                                   'リスト開始レベル
'        Public Const strStartAts3 As String = "1,1,1,1,1,1,1,1,1,0"                                         '開始番号
'        Public Const strLeftIndents3 As String = "1,1,1,1,1,1,1,1,1,0"                                      '左インデント
'        Public Const strFirstLineIndents3 As String = "2,1,1,1,1,1,1,1,1,1"                                 '最初の行のインデント
'        Public Const lngLeftIndentsAdd3 As Long = 1                                                         '左インデント増加量
    
        '「資料3」に準拠 第1 、1 、(1)、ア 、(ア)、a 、(a)、i 、(i)、標準
'        Public Const strNumberFormats3 As String = "第%1 ,%2 ,(%3),%4 ,(%5),%6 ,(%7),%8 ,(%9),"    '番号書式
'        Public Const strNumberStyles3 As String = "14,14,14,20,20,4,4,2,2,"                                     '番号スタイル
'        Public Const strResetOnHighers3 As String = "0,1,2,3,4,5,6,7,8,0"                                       'リスト開始レベル
'        Public Const strStartAts3 As String = "1,1,1,1,1,1,1,1,1,0"                                             '開始番号
'        Public Const strLeftIndents3 As String = "1,1,1,1,1,1,1,1,1,0"                                          '左インデント
'        Public Const strFirstLineIndents3 As String = "2,1,1,1,1,1,1,1,1,1"                                     '最初の行のインデント
'        Public Const lngLeftIndentsAdd3 As Long = 1                                                             '左インデント増加量
    
        '④契約書1(見出し→条番号タイプ)用
        '次の定数の組み合わせの中から、1組をコメント解除してください。
        '「資料4」に準拠 ()、第1条、2、(1)、、、、、、標準
        Public Const strNumberFormats4 As String = ",第%2条 ,%3 ,(%4),%5 ,,,,,"     '番号書式
        Public Const strNumberStyles4 As String = "0,14,14,14,20,0,0,0,0,0"              '番号スタイル
        Public Const strResetOnHighers4 As String = "0,0,2,3,4,5,6,7,8,0"                'リスト開始レベル
        Public Const strStartAts4 As String = "1,1,2,1,1,1,1,1,1,0"                      '開始番号
        Public Const strLeftIndents4 As String = "0,3,3,5,6,0,0,0,0,0"                   '左インデント
        Public Const strFirstLineIndents4 As String = "0,1,1,1,1,0,0,0,0,0"              '最初の行のインデント
        Public Const lngLeftIndentsAdd4 As Long = 0                                      '左インデント増加量

        '⑤契約書2(条番号→見出しタイプ)用
        '「資料5」に準拠 第1条()、1 、(1) 、ア、、、、、、標準
        Public Const strNumberFormats5 As String = "第%1条,%2 ,(%3) ,%4 ,,,,,,"        '番号書式
        Public Const strNumberStyles5 As String = "0,0,0,20,0,0,0,0,0,0,0"             '番号スタイル
        Public Const strResetOnHighers5 As String = "0,1,2,3,4,5,6,7,8,0"                'リスト開始レベル
        Public Const strStartAts5 As String = "1,1,1,1,1,1,1,1,1,0"                      '開始番号
        Public Const strLeftIndents5 As String = "1,1,1,1,0,0,0,0,0,0"                   '左インデント
        Public Const strFirstLineIndents5 As String = "2,1,1,0,0,0,0,0,0,1"              '最初の行のインデント
        Public Const lngLeftIndentsAdd5 As Long = 1                                      '左インデント増加量

    'ページ設定
        '①裁判所提出書類 用(「資料1」に準拠)
        Public Const sngPageWidth1 As Single = "210"            '用紙サイズの幅(mm)
        Public Const strMargines1 As String = "35,27,30,17.5"   'ページ余白(mm)(上,下,左,右)'右余白は、修正されるのでわずかに増減します。
        Public Const strCharsAndLines1 As String = "37,26"      '文字数及び行数(文字)(文字数,行数)
                
        '②内容証明用
        '次の定数の組み合わせの中から、1組をコメント解除してください。
        '句読点のぶら下げに対応するため、文字数は制限値よりも1文字少なくしています。
        '「資料2」に準拠 横書き(その1)
        Public Const sngPageWidth2 As Single = "210"            '用紙サイズの幅(mm)
        Public Const strMargines2 As String = "30,30,30,30"     'ページ余白(mm)(上,下,左,右)'右余白は、修正されるのでわずかに増減します。
        Public Const strCharsAndLines2 As String = "19,26"      '文字数及び行数(文字)(文字数,行数)
    
        '「資料2」に準拠 横書き(その2)
'        Public Const sngPageWidth2 As Single = "210"           '用紙サイズの幅(mm)
'        Public Const strMargines2 As String = "30,30,30,30"    'ページ余白(mm)(上,下,左,右)'右余白は、修正されるのでわずかに増減します。
'        Public Const strCharsAndLines2 As String = "12,40"     '文字数及び行数(文字)(文字数,行数)
    
        '「資料2」に準拠 横書き(その3)
'        Public Const sngPageWidth2 As Single = "210"           '用紙サイズの幅(mm)
'        Public Const strMargines2 As String = "30,30,30,30"    'ページ余白(mm)(上,下,左,右)'右余白は、修正されるのでわずかに増減します。
'        Public Const strCharsAndLines2 As String = "25,20"     '文字数及び行数(文字)(文字数,行数)
        
        '③公文書、④契約書1、⑤契約書2用(「資料3」に準拠)
        Public Const sngPageWidth3 As Single = "210"            '用紙サイズの幅(mm)
        Public Const strMargines3 As String = "35,27,30,22.5"   'ページ余白(mm)(上,下,左,右)'右余白は、修正されるのでわずかに増減します。
        Public Const strCharsAndLines3 As String = "40,40"      '文字数及び行数(文字)(文字数,行数)

    'サンプル
        '①裁判所提出書類、②内容証明、③公文書用
        Public Const strSample1 As String = _
            "<<サンプル>>" & vbCr & _
            "↑↑↑最初の見出しまではマクロが適用されません。↑↑↑" & vbCr & _
            "#見出し(「第1」ではなく、「1」から開始することもできます。)" & vbCr & _
            "本文(見出しに合わせて自動的にインデントが設定されます。)" & vbCr & _
            "##見出し(見出しレベルは、スタイルまたはアウトラインで設定できます。)" & vbCr & _
            "本文" & vbCr & _
            "-箇条書き(「・」を使ったリストになります。)" & vbCr & _
            "-箇条書き" & vbCr & _
            "##見出し" & vbCr & _
            "本文" & vbCr & _
            "1.段落番号(「①」を使った番号付きリストになります。)" & vbCr & _
            "1.段落番号" & vbCr & _
            "###見出し" & vbCr & _
            "####見出し" & vbCr & _
            "#####見出し" & vbCr & _
            "######見出し" & vbCr & _
            "#######見出し" & vbCr & _
            "########見出し" & vbCr & _
            "#########見出し" & vbCr & _
            " ←全角空白が入力されています。" & vbCr & _
            "↓↓↓行頭の全角空白以降はマクロが停止します。↓↓↓"

        '④契約書1用
        Public Const strsample4 As String = _
            "<<サンプル>>" & vbCr & _
            "↑↑↑最初の見出しまではマクロが適用されません。↑↑↑" & vbCr & _
            "#(見出し)" & vbCr & _
            "##条番号および項" & vbCr & _
            "###項(省略することもできます。)" & vbCr & _
            "####号" & vbCr & _
            "#####号の細分" & vbCr & _
            "####号" & vbCr & _
            "-箇条書き(「・」を使ったリストになります。)" & vbCr & _
            "-箇条書き" & vbCr & _
            "####号" & vbCr & _
            "1.段落番号(「①」を使った番号付きリストになります。)" & vbCr & _
            "1.段落番号" & vbCr & _
            " ←全角空白が入力されています。" & vbCr & _
            "↓↓↓行頭の全角空白以降はマクロが停止します。↓↓↓"

        '⑤契約書2用
        Public Const strsample5 As String = _
            "<<サンプル>>" & vbCr & _
            "↑↑↑最初の見出しまではマクロが適用されません。↑↑↑" & vbCr & _
            "#(見出し)" & vbCr & _
            "本文" & vbCr & _
            "##項" & vbCr & _
            "###号" & vbCr & _
            "####号の細分" & vbCr & _
            "###号" & vbCr & _
            "-箇条書き(「・」を使ったリストになります。)" & vbCr & _
            "-箇条書き" & vbCr & _
            "###号" & vbCr & _
            "1.段落番号(「①」を使った番号付きリストになります。)" & vbCr & _
            "1.段落番号" & vbCr & _
            " ←全角空白が入力されています。" & vbCr & _
            "↓↓↓行頭の全角空白以降はマクロが停止します。↓↓↓"
    
'〇設定用定数(値が固定のもの)を宣言する
'すべてのモジュールで使用できるようにするため、Publicで宣言しています。
'各モジュール内のプロシージャから必要に応じて参照されます。

    'スタイル
    Public Const sngFont As Single = 12                         'フォントサイズ(ポイント単位で入力します。)
    Public Const strFont As String = "MS 明朝"                'フォント名(「MS」と「明朝」の間に半角スペースが必要です。)
    Public Const sngTitle As Single = 16                        '表題のフォントサイズ(ポイント単位で入力します。)
    Public Const sngLineNo As Single = 8                        '行番号のフォントサイズ(ポイント単位で入力します。)
    Public Const strJust As String = wdJustificationModeExpand  '文字間隔の調整(「間隔を詰めない」に設定しています。)
    Public Const strAlign = wdAlignParagraphJustify             '配置(句読点のぶら下げを行うため、「両端揃え」に設定しています。)
                                                                
    'リスト
    Public Const strListBullFormat As String = "・"         '箇条書きの記号
    Public Const strListNumbFormat As String = "%1 "       '段落番号の記号
    Public Const lngListLeftIndent As Long = 0              'リストの左インデント
    Public Const lngListFirstLineIndent As Long = -1        'リストの最初の行のインデント
    
    'ページ
    Public Const blnPageNumberEnd As Boolean = True         '右上のページ番号の最後に"」"を追加する(デフォルト:True)
    
    'マークダウン記号
    Public Const strHead As String = "#"                '見出しレベル(デフォルト:"#")
    Public Const strList As String = "-"                '箇条書き(デフォルト:"-")
    Public Const strNumList As String = "1."            '段落番号("1."変更不可)
    Public Const blnMarkdownSpace As Boolean = False    'マークダウン記号の後の空白(デフォルト:False)
    
    'マクロ
    Public Const blnSkipUntil = True            '最初の見出しまでの処理を停止する(デフォルト:True)
    Public Const blnStopAfter = True            '行頭の空白後の処理を停止する(デフォルト:True)
    Public Const blnCancelDisable = False       'VBA停止を不能にする(デフォルト:False)(Mac用WordではTrueに設定してください。)

変更履歴

このアドインの変更履歴は、「ThisDocument」モジュールに記載しています。

参考文献

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

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

処理速度向上のための「オブジェクト配列」については、こちらの記事を参考にしました。
記事はエクセルを対象にしていますが、考え方は同じです。

関連記事

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

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

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

コメント

  1. 管理人 より:

    ナビゲーションウィンドウを使って、見出しを含む文書内の要素の順番を入れ替えようとすると、最後の「補足」の部分が最後の見出しと一緒に動いてしまいます。補足との区切りを「全角の空白」にしているためです。アウトラインのレベル9を「番号なし」にして、これを区切り文字に使うという方法もあるのですが、できれば「(i)」の見出しを残したいです。何か良いアイデアがあれば、教えて下さい。

  2. keitaro より:

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

    • 管理人 より:

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

  3. 管理人 より:

    「分かりやすい公用文の書き方 第2次改訂版」のルールに合わせられるようにしました。
    「箇条書き」および「段落番号」に対応させました。
    定数を変更することで裁判所提出書類用から一般公文書用に変更するなどのカスタマイズができるようにしました。(Ver200)

  4. 管理人 より:

    ゴシック体への変換機能を追加しました。
    クイックアクセスツールバーでの操作を可能にしました。
    右クリックでの操作を追加しました。
    その他細部バグを修正しました。(Ver320)

  5. 管理人 より:

    「箇条書き」および「段落番号」は、その都度、最初から設定しなおしています。どんな文章でも必ず1つの段落があるので、よほどのことをしない限り「アウトライン」は設定が残るのですが、「箇条書き」や「段落番号」は消えてしまう可能性が高いからです。
    アウトラインのレベル8と9に「箇条書き」と「段落番号」を割り当てる方法もあるのですが、私の経験では、iや(i)の見出しを使う場合もなくはなかったので残したいです。
    ListGal.datをテンプレートと一緒に配布する手もあるのですが、それも面倒です。
    何か良いアイデアがあれば、教えて下さい。

  6. 管理人 より:

    契約書に対応させました。
    全角の見出し番号が2桁および3桁になる場合のインデント自動修正機能を追加しました。
    Mac用ワードでのエラーに対応させました。
    その他、細部バグを修正しました。(Ver441)

  7. 管理人 より:

    Vectorにも掲載されました。
    https://www.vector.co.jp/soft/data/writing/se525564.html

  8. 管理人 より:

    マークダウンとアウトラインとの変換の中間状態としてニュートラル(ベタ打ち)を追加しました。
    セットアップ時に文書の種類を選択するフォームを追加しました。
    内容証明郵便に対応しました。
    サンプル追加機能を追加しました。
    ページ番号の設定機能を追加しました。
    ヘルプ表示機能を追加しました。(Ver545)

  9. 管理人 より:

    セットアップの初期値を自動的にテンプレートに保存できるようにしました。(Ver551)

  10. 管理人 より:

    オブジェクト配列を用いて、処理速度の改善を図りました。(Ver572)

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