DerekはExcelで差し込み印刷を実行していますが、一部の値が正しくインポートされていません。たとえば、Excelで5.2と表示される値は、マージ中に5.20000000002としてWordにインポートされる場合があります。

デレクはなぜこれが起こるのか疑問に思っています。

Excelの値は5.20000000002である可能性が高いが、5.2のみが表示されるようにワークシートで丸められるか、フォーマットされることを理解することが重要です。

Excelブックからのデータの実際のマージは、OLEDBと呼ばれるテクノロジを使用して行われます。このテクノロジーは、マージされるもののフォーマットを無視します。したがって、丸められた数値やフォーマットされた数値ではなく、完全な数値が得られます。

この問題には3つの解決策があります。 1つ目は、Excelワークシートのデータを変更することです。このアプローチは、Excelからマージされる値が実際には値であり、公式の結果ではない場合にのみ機能します。その場合は、長い値(5.20000000002)ではなく、短い値(5.2)がセルにあることを確認してください。

2番目に考えられる解決策は、Wordを誘導してDDEを使用し、OLEDBではなくExcelからデータ転送を実行することです。これを行うには、次の手順に従います。

。 [Wordのオプション]ダイアログボックスを表示します。 (Word 2007では、[Office]ボタンをクリックし、[Wordのオプション]をクリックします。Word2010およびWord 2013では、リボンの[ファイル]タブを表示し、[オプション]をクリックします。)

。ダイアログボックスの左側にある[詳細]をクリックします。

。 [一般]セクションが表示されるまで下にスクロールします。 (図1を参照)

。 [開いたときにファイル形式の変換を確認する]チェックボックスがオンになっていることを確認します。

。 [OK]をクリックします。

次に、通常どおりにマージを実行します。 WordがExcelファイルを開くと、接続を確立する方法を入力するように求められます。接続方法としてDDEを選択する必要があります。これにより、数値とともにフォーマットがExcelワークシートから確実に移動されます。

最終的な解決策は、値をWord文書に転送するために使用されるマージフィールドを変更することです。このソリューションは、特定のフィールドでマージされる値がすべて同じ一般的なパターンに従う場合にうまく機能します。

たとえば、マージフィールドが通常次のように表示されると仮定します。

{MergeField MyValue}

フィールドに常に小数点の右側に1桁のマージされた値を表示する場合は、フィールドを次のように変更できます。

{MergeField MyValue \# ""0.x""}

中括弧は、マージフィールドの中括弧を表します。それらは型付けされていません。

現在のマージフィールドを選択してAlt + F9を押すと表示できます。次に、適切なスイッチを追加できます。画像スイッチを使用してフォーマットする方法の詳細については、次のWebサイトを参照してください。

http://www.gmayor.com/formatting_word_fields.htm

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(9632)は、Microsoft Word 2007、2010、および2013に適用されます。

Wordの古いメニューインターフェイスに関するこのヒントのバージョンは、次の場所にあります: