
著者: Connie Miller
差し込み印刷が正しく実行されているようでも、価格、日付、その他の数値が差し込み印刷後の文書に正しく表示されていないことがあります。ここでは、特に影響の大きいこの問題を回避する方法について説明します。
| 対象アプリケーション |
Microsoft Office Word 2003 Microsoft Word 2002 Microsoft Office Excel 2003 Microsoft Excel 2002 |
寄せられた質問
Excel ワークシートにデータが保存されています。差し込み印刷を実行すると、価格の列にある価格が適切な通貨の書式ではなくなってしまいます。どうしたらよいでしょうか。
質問へのアドバイス
数値が正しく差し込み印刷されないという小さな問題によって、差し込み印刷プロジェクト全体が台無しになることがあります。
通貨、パーセント、日付、先頭が 0 の郵便番号などの数値を期待どおりに表示するには、いくつかの方法があります。次の表に、それらの方法を挙げ、各方法をいつ使用すればよいかのアドバイスを示します。さらに表の下で、各方法における具体的な処理手順について説明しています。
ダイナミック データ エクスチェンジを使用する
ダイナミック データ エクスチェンジ (DDE) は、Microsoft Windows® オペレーティング システムでアプリケーション間のデータ転送に使用できる方法の 1 つです。DDE では、共有メモリを使用してデータを交換します。他のデータ転送方式を使用すると、ワークシートのデータは、ワークシートのセルに適用した書式付きの形式ではなく、Excel のネイティブ形式で転送されるため、問題が発生します。
次のようにして Word で 1 つのチェック ボックスをオンにするだけで、差し込み印刷中、Excel ワークシートへの接続時に DDE データ転送方式を選択できます。
- [ツール] メニューの [オプション] をクリックし、[全般] タブをクリックします。
- [文書を開くときにファイル形式を確認する] をクリックします。
差し込み印刷でデータ ファイルを開くときに接続先の Excel ワークシートを選択すると、[データ ファイル形式の確認] ダイアログ ボックスが開きます。[Microsoft Excel ワークシート DDE (*.xls)] をクリックし、[OK] をクリックします。[Microsoft Excel] ダイアログ ボックスの [範囲名またはセル範囲] で、差し込む情報が格納されているセル範囲またはワークシートを選択し、[OK] をクリックします。Excel スプレッドシートの数値が、ワークシートに表示されているとおりに差し込み印刷後の文書に表示されます。
メモ 差し込み印刷が終了したら、[文書を開くときにファイル形式を確認する] オプションを無効にすることをお勧めします。無効にしないと、必要ない場合にもデータ ソースを確認するメッセージが表示されてしまいます。
Word のフィールド コードで操作する
DDE を使用する方法が非常に便利なので、この後の説明は不要と思われるかもしれません。しかし、フィールド コードを少し理解するだけで差し込み印刷の結果をより詳細に制御できるようになるので、このまま読み続けることをお勧めします。
フィールド コードを使用して通貨およびその他の数値の書式を設定する
まず、例を使用して説明します。差し込み印刷用に作成している定型書簡に "価格" フィールドを挿入するとします。メイン文書は、次のようになります ("価格" はフィールドです)。
ご注文の商品の代金は "価格" になります。
Alt キーを押しながら F9 キーを押すと、フィールドのコードが表示されます。上記のフィールドのコードは、次のようになります。
ご注文の商品の代金は { MERGEFIELD "価格" } になります。
波かっこの内側に何文字か追加する (書式スイッチを追加する) だけで、このフィールド内の価格の書式を制御できます。
次のものを追加します。
- 円記号
- 既定では 4 桁、差し込む数値が 3 桁しかない場合はスペースを追加
- 小数点以下 2 桁
- 桁区切りのコンマ
つまり、次の太字の部分をフィールド コードに入力することになります。
{ MERGEFIELD "価格"
\# \\#,###.00 }
入力が終了したら、Alt キーを押しながら F9 キーを押してフィールド コードを非表示にします。この状態で差し込み印刷を実行すると、すべての価格が指定したとおりの書式で表示されます。この方法は、価格以外の数値にも使用できます。
上記のスイッチの詳細は次のとおりです。

- メイン文書に挿入したフィールドの名前。この名前は、Excel ワークシートの列に対応します。
- 書式スイッチの開始を示す円記号。
- スイッチの定義 (この場合は、数値の書式設定)。
- 追加する文字 (価格の前に表示される \ など)。
- 最大桁数。数値の桁数が指定した桁数よりも少ない場合は、空白が表示されます。必要な位置に桁区切りのコンマを入力します。
- 小数点以下の桁数 (表示する場合は入力)。0 で小数点以下の最大桁数を指定します。数値の桁数が指定した桁数よりも少ない場合は、0 が挿入されます。
[参照] ボックスに、スイッチを使用した数値の書式設定の詳細情報 (「数値書式スイッチ (\#)」) へのリンクがあります。
フィールド コードを使用して日付の書式を設定する
書式スイッチを使用して、スプレッドシートの Date 列の日付を必要な書式で差し込み印刷後の文書に表示することもできます。メイン文書に "日付" フィールドを挿入し、Alt キーを押しながら F9 キーを押すと、次のように表示されます。
{ MERGEFIELD "日付" }
(ワークシートのセルで設定されている日付書式に関係なく) 差し込み印刷後の文書のすべての日付を "2008 年 2 月 18 日" の形式にするには、次の太字の部分の書式スイッチをフィールド コードに追加します。
{ MERGEFIELD "日付"
\@ "yyyy年M月d日" }
[参照] ボックスに、スイッチを使用した日付の書式設定の詳細情報 (「日付/時刻表示形式スイッチ (\@)」) へのリンクがあります。
Excel ワークシートでセルの書式を設定する
この方法は、差し込み印刷プロジェクト用に新しい Excel ワークシートを作成する場合に使用できます。ワークシートで、差し込み印刷後に Word に表示されるとおりに日付、パーセント、その他の数値の書式を設定できるので、この方法が最も簡単です。差し込み印刷を実行するたびに、ワークシートに設定されている書式で数値が表示されます。
Excel ワークシートで数値が格納されているセルの表示形式が数値、通貨、日付、パーセントなどとして設定されていると、差し込み印刷で数値の書式に問題が発生します。差し込み印刷時に数値が正しく扱われるようにするには、数値が格納されているセルの表示形式を文字列として設定します。セルの表示形式が文字列として設定されていれば、表示されるとおりの書式 (通貨記号、0 など) を使用してセル内に数値を入力できます。これにより、入力したとおりに差し込み印刷が行われます。
- Excel でセルの書式を設定するには、設定するセルが含まれている列を選択します。
- [書式] メニューの [セル] をクリックし、[表示形式] タブをクリックします。
- [分類] で、[文字列] をクリックします。
郵便番号の先頭が 0 の場合の処理手順に関するヒント
先頭が 0 の郵便番号が正しく差し込み印刷されるようにするために、郵便番号が格納されているセルの表示形式を文字列として設定する必要はありません。セルに郵便番号を入力するときに、先頭の 0 の前にアポストロフィ (') を入力します。アポストロフィは、セルに表示されません。この方法で、0 を正しく処理できます。
ここでのアドバイスが差し込み印刷時の参考になると幸いです。
質問箱担当 Connie Miller
著者について
Connie Miller は、Microsoft Office User Assistance チームのライターであり、Word 質問箱に寄せられたご質問やご提案を受け取り、それらに対応しています。ご質問やご意見がございましたら、ここをクリックして、フィードバックと提案のページからお送りください。