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

Microsoft Word 97 および Word 2000 については、次の資料を参照してください。 142340 . (英語)

現象

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

日付フィールドは、次の書式で表示されます。

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

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

12.00

または

12000

原因

この現象は、Access または Excel のネイティブの保存書式でデータが表示されるために発生します。差し込んだデータに書式を設定するには、メイン文書の差し込みフィールドに書式を設定する必要があります。データ ソースのデータに書式を設定しても、データをメイン文書に差し込んだときに書式設定は保持されていません。

回避策

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

Microsoft Word の場合

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

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

方法 1: 方法 1: 数値書式スイッチを使用する

次のいずれかの例を参考にして数値書式スイッチ (\#) を指定します。

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

{MERGEFIELD number \# $####,0.0}
: {MERGEFIELD number \# $####,0.0} という文字列は、Microsoft SQL Server 6 でも有効です。

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

{MERGEFIELD phone \# ###'-'###'-'####}
: 差し込みフィールド内のハイフンは、一重引用符で囲みます。

関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。

121938 ハイフンが数値書式スイッチで正しく表示されない

方法 2: 日付/時刻表示形式スイッチを使用する

日付フィールドに、次のような日付/時刻表示形式スイッチ (\@) を指定します。

{MERGEFIELD date \@ "MMMM d, yyyy"}
: 表示形式スイッチでは、大文字と小文字が区別されます。また、書式文字列は引用符で囲む必要があります。


Microsoft Access の場合

Microsoft Access でクエリを作成し、Word の差し込み印刷でそのクエリを使用します。この Microsoft Access クエリの中で、FORMAT() 関数を使用して、Microsoft Word に差し込まれるデータの書式を設定します。関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。

197520 クエリを使用して差し込み印刷のデータの書式を設定する方法

詳細

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

差し込み印刷で DDE を使用してデータにアクセスする方法の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。

289830 [Word 2002] 差し込み印刷プログラムで Excel または Access をデータ ソースに指定すると [表の選択] ダイアログ ボックスが表示される
Microsoft Word でのフィールド スイッチの使用の詳細については、[ヘルプ] メニューの [Microsoft Word ヘルプ] をクリックし、Office アシスタントまたはアンサー ウィザードに「共通スイッチ」と入力し、[検索] をクリックしてトピックを表示します。
プロパティ

文書番号:304387 - 最終更新日: 2011/09/18 - リビジョン: 1

フィードバック