VBAを使って、内容証明郵便の字数と行数が規定内に入っているかどうかをチェックするアドインを紹介します。
電子内容証明サービスを利用すれば、文字数の制限を心配する必要がないですよね。
しかし、職印が押せないという問題があります。このため、法律事務所では、一般の内容証明郵便を利用しているところも多いのではないでしょうか。
その場合でも、テンプレートを使えば、字数や行数が制限数内設定されているので、問題なさそうですよね。
そうですね。ただし、半角文字をついつい使ってしまって、字数を超えてしまうこともあるようですので、最終的にマクロで確認したほうが確実だと思います。
ダウンロード
まずは、こちらからサンプルファイルをダウンロードして、使ってみてください。
アドインの準備
ダウンロードしたファイルをスタートアップフォルダに保存すれば、アドインとして、すべてのワードファイルでマクロを利用できるようになります。(他の使用方法もありますが、この使い方を推奨します。)
別に紹介している「VA公用文」と併用すれば、内容証明郵便用の書式設定を自動的に行うことができます。
使用方法
- 文書を作成してください。
- Ctrl+Shift+P(PostのPです)を押すか、クイックアクセスツールバーのボタンを押すとマクロが起動し、内容証明郵便の規定に従って字数および行数を確認します。
- 字数または行数が制限を超えている場合は、該当する行が選択された状態でマクロが停止します。所要の修正を行った後、マクロを再度実行して、文章全体のチェックを完了してください。
郵便局が定めている制限については、こちらを確認してください。
ショートカットキーの設定は、ワードのオプションで自由に変更できます。
作動の一例
制限事項
このマクロは、郵便局の制限に従って完全にチェックできるものではありません。つぎのような制限事項があります。(実用上は、問題ないと思います。)
- アウトラインを用いない見出し番号には対応していません。アウトラインを使用していない場合は、見出し番号が2字以上になると、そのままの字数でカウントします。
- タブによる空白には対応していません。タブによってできた空白は、文字数にカウントしてしまいます。
- 「)」側だけを使用した括弧には対応していません。「)」側だけの場合は、字数にカウントされません。
- ラインフィード(シフトキーとリターンキーの同時押し)には対応していません。ラインフィードは無視して、改行していないものとして字数をカウントしてしまいます。キャリッジリターン(リターンキーのみ)を使用してください。
マクロの構造
このマクロは、自由に閲覧・編集できる状態になっています。
ファイルをエクスプローラーで右クリックして、「開く」を選択すると、テンプレート自体を編集できるようになります(そのままダブルクリックすると、新規文書が作成されてしまいます)。その状態から、「開発」-「Visual Basic」をクリックしてVBEを起動すると、マクロの構成や内容を確認することができます(そのまま編集することもできます)。
マクロの構成
標準モジュールの中に「Setting」および「Check」の2つのモジュールが作成されています。
各モジュールの中には、マクロを実行するための定数やプロシージャが記載されています。
「Setting」モジュール内の定数を変更することにより、字数および行数をカスタマイズできます。
チェックの要領
「CheckCharsAndLines」 プロシージャは、1行ごとに文字数を取得して、次のとおり、その字数を調整した上でチェックし、行数をカウントするという動作を繰り返します。
- 段落番号が設定されている場合は、字数に1を加える。(内容証明の文字数は、文中の序列を示す記号として使用されているものは、全体を1字として数えることになっているため)
- 文字列に空白が含まれている場合は、字数からその数を減じる。(内容証明の文字数には、空白・スペースが含まれないため)
- 文字列に全角の”)”または半角の”)”が含まれている場合は、字数からその数を減じる。(内容証明の文字数は、()の組み合わせで1文字として数えることになっているため)
- 文字列に改行または改ページが含まれている場合は、字数から1を減じる。(内容証明の文字数に段落記号は含まれないため)
その間に字数や行数が設定値を超えた場合には、その行を選択した状態でメッセージを表示します。
1行ごとに文字列を取得する方法については、こちらの記事を参考にさせていただだきました。
プロシージャ内のコードの細部については、サンプルファイルのプログラムにコメントで記載していますので、そちらを御覧ください。
コメント
テンプレートとしても使用できるように改修しました。(Ver200)