まりふのひと

MergeField のフィールドコードとスイッチ

Word で名札を作る方法は知っていたが、パソコンC組のテキストにある「宛名ラベルを印刷する」を読んで、アっ! こんな方法で簡単にできるのだぁ〜 と感激したりガックリしたり...
問題は、A4版に10枚ある用紙に11名分の名札を印刷すると、9枚の書き損じが出ること。書き損じが出るのは仕方ないとしても、まっさらの書き損じにしたい!
で、はがき宛名印刷ウィザードで作成した「宛名」の部分のフィールドコードを調べた。

?????

そこで、一か八かヘルプを “mergefield” で検索したらあった。

フィールド コード : MergeField (フィールドの差し込み) フィールド

  • { MERGEFIELD フィールド名 [スイッチ] }
    • 差し込み印刷を行うメイン文書に、«氏名» など、二重の山かっこ (« ») で囲まれたデータ フィールド (データ フィールド : データ ファイルの 1 列のデータに対応するデータのカテゴリ。各データ フィールドの名前は、データ ファイルの先頭行 (タイトル行) に表示されます。たとえば、"郵便番号" や "氏名" はデータ フィールドの名前です。)の名前を表示します。メイン文書 (メイン文書 : Word の差し込み印刷に使用する文書。差し込み文書に表示される共通の文字列や図が入力されています。たとえば、返信用の住所や定型書簡のあいさつ文などがこれに相当します。)に選択したデータ ファイル (データ ファイル : 文書に差し込まれる情報を含むファイル。たとえば、差し込み印刷で使用する住所録などです。データ ファイルの情報を使用する前に、データ ファイルに接続する必要があります。)が差し込まれると、指定したデータ フィールドのデータが差し込みフィールドの位置に挿入されます。
※ 説明
  • フィールド名
    • 選択したデータ ファイルのヘッダー ファイルに表示されているデータ フィールドの名前を指定します。フィールド名には、ヘッダー ファイルで定義されているフィールド名と完全に一致する名前を指定します。
  • スイッチ
    • \b ‥‥before
      • フィールドが空白でない場合に、MergeField (フィールドの差し込み) フィールドの前に挿入する文字列を指定します。
    • \f ‥‥following
      • フィールドが空白でない場合に、MergeField (フィールドの差し込み) フィールドの後に挿入する文字列を指定します。
    • \m ‥‥mapped field
      • MergeField (フィールドの差し込み) フィールドを標準のフィールド名に指定します。
    • \v ‥‥vertical formatting
      • 縦書き用に文字を変換します。
※ 例

次の例では、3 つの MergeField (フィールドの差し込み) フィールドと \f スイッチを使用して、データ ファイル内に指定のデータが存在する場合のみ、各フィールドの間にスペースを設定します。

  • { MERGEFIELD 姓 \f " " }{ MERGEFIELD 名 \f " " }{ MERGEFIELD 敬称 }

このフィールドの実行結果は次のようになります。
すべてのフィールドが存在する場合は、「鈴木 一郎 様」となります。
データ ファイルに "名" のデータがない場合は、「鈴木 様」となります。

四苦八苦しながらR組の名札の最終版を完成させた。

  • 上の段落 ‥‥ 名札の右上の部分
    • R組の場合、組役が無い時は“R組”,ある時は、例えば “R組・組長” と印刷する。
  • 下の段落 ‥‥ 名札の下(電話番号)の部分
    • 電話番号が未入力の場合は “☎ ” を印刷しない。