Word で Access または Excel データ ソースを使用すると、日付、電話番号、および通貨フィールドが正しく差し込まれない

適用先
Office Products Microsoft Word 2010

現象

Microsoft Access または Microsoft Excel のデータ ソースで OLEDB を使用して Microsoft Wordで差し込み印刷を実行すると、日付、電話番号、および通貨フィールドの差し込み印刷結果が正しくありません。 次に例を示します。

[日付] フィールドは次の形式で表示されます。
 

1995-10-22 00:00:00
Access データ ソースの [電話番号] フィールドは、次の形式で表示されます。
 

-7081234567.00
[通貨] フィールドは次の形式で表示されます。
 

12.00

-または-

12000

原因

この動作は、データが Access または Excel でネイティブで保存された形式で表示されるために発生します。 マージされたデータの書式を設定するには、メイン ドキュメントの差し込みフィールドの書式を設定する必要があります。 データ ソースでデータを書式設定する場合、データをメイン ドキュメントにマージしても書式設定は保持されません。

回避策

この問題を回避するには、以下のいずれかの方法を使用します。
 

Microsoft Word

スイッチを使用して、MERGEFIELD の結果を書式設定します。 それには、以下のいずれかの方法を使用します。

注 Microsoft Wordでフィールド コードを表示するには、Alt キーを押しながら F9 キーを押します。
 

方法 1: 数値画像スイッチを使用する

次のいずれかの例のような数値画像スイッチ (\#) を含めます。

通貨フィールドで、次のような数値画像スイッチを使用します。
 

{MERGEFIELD number \# $#####,0.0}メモ {MERGEFIELD number \# $#####,0.0} 文字列は、Microsoft SQL Server 6 でも機能します。

電話フィールドで、次のような数値画像スイッチを使用します。
 

{MERGEFIELD phone \# ###'-'###'-'#####}注 マージ フィールド内のハイフンは、単一引用符で囲まれています。

 

方法 2: Date-Time ピクチャ スイッチを使用する

[日付] フィールドに日付と時刻の画像スイッチ (\@) を含めて、Date フィールドを次のように表示します。
 

{MERGEFIELD date \@ "MMMM d, yyyy"}注 画像スイッチでは大文字と小文字が区別されます。 さらに、図の文字列を引用符で囲む必要があります。

 

Microsoft Access で

Microsoft Access でクエリを作成し、Word差し込み印刷でクエリを使用します。 Microsoft Access クエリで、FORMAT() 関数を使用して、Microsoft Wordでマージするデータを書式設定します。
 

追加情報

既定では、Wordは OLEDB を使用して、差し込み印刷を実行するときにデータ ソースに接続します。 プログラミング コードを使用してデータにアクセスすることで、Wordに動的データ交換 (DDE) を強制的に使用できます。

メモMicrosoft Word でのフィールド スイッチの使用の詳細については、 の [Microsoft Word ヘルプ] をクリックしてください。
[ヘルプ] メニューで、Office アシスタントまたは応答ウィザードに「General スイッチ」と入力し、[検索] をクリックして返されたトピックを表示します。