0

Word 2013 を使用して差し込み印刷を実行しています。3 つのアイテムを含むリストがあります [図 1]。3]、そして私が書いたテンプレートがあります。テンプレートにはいくつかの基本的な書式設定があり、その下の個別の行に、計算された合計配送料 (運賃)、税引前合計、合計 VAT 金額、および総合計と共に項目 (各行に 1 つ) が表示されます。次の項目に移動するために、NEXT レコード ルールを使用しています。各項目はそれぞれの行に表示されますが、フィールドを手動で更新しない限り、合計配送料、税引前合計、および総合計は入力されません [図 . 1]。私は NEXTIF ルールを試してみましたが、これらのフィールドを自動的に更新することができましたが、項目テーブルに 5 行あり、他の行は最初のレコードで満たされています [図 2]。2]。ここで誰かが私を正しい方向に向けることができますか? 最終的な目標は、テーブルに 1 ~ 5 個のレコード/行項目を作成し、差し込み印刷中に下部のフィールドにデータを入力することです。

NEXTIF ルールは次のように入力されます。{ NEXTIF { MERGEFIELD "Product_Product_ID" } = "True" }

よろしくお願いします

NEXT を使用して作成されたテーブルのスクリーンショット: ここに画像の説明を入力

NEXTIF を使用してデータが入力されたテーブルのスクリーンショット: ここに画像の説明を入力

データ テーブルのスクリーンショット: ここに画像の説明を入力

4

1 に答える 1

0

Windows Word 2010 を使用してテストしています。他のバージョン (特に Mac) では動作が異なる可能性があるため、使用しているバージョンをお知らせください。

以前は、1 対多のマージ (複数ページのデータを使用するが、1 ページあたり最大 5 行) を行っていると想定していました。あなたのテキストをもう一度読みましたが、あなたのデータ ソースにはおそらく最大 5 行があり、行が存在しないことを検出する方法を探していたことがわかりました。仮にそうだとすれば…

「マージを完了」している、つまり新しいドキュメントに出力していることが重要です。マージのプレビューは、何が起こるかを示すだけであり、誤解を招く可能性があります。

存在しないことをテストするには、テストできるはずです

{ IF  { MERGEFIELD Product_ID } = "" }

以前のコメントで示したように。プレビュー中に期待される結果が表示されない場合がありますが、マージが完了すると、期待される結果が表示されるはずです。(プレビュー中に正しく表示するには、おそらくフィールドの更新のみが必要です。

合計の非表示に関連する問題は、それらの計算方法に関連していると思われます。現在の合計を使用していて、すべての行の値の存在をチェックしていない場合、問題が発生する可能性があります。私の合計で実際にエラーメッセージが表示されるので、あなたは明らかに私とは違ったやり方をしています:

!Unexpected end of formula.

それは、ページの冒頭に次のようにしてそれを行う場合です

{ SET Total 0 }

各行の次の計算

{ SET Total { =Total+{ MERGEFIELD Extended_Amount } } }

それを修正するには、次のようなことをする必要があると思います

{ SET Total { =Total+{ IF { MERGEFIELD Extended_Amount } = "" 0 { MERGEFIELD Extended_Amount } } } }

ただし、その計算にはまったく異なるアプローチを使用できます-テーブルを選択し、ブックマークを挿入し、「データテーブル」としましょう。次に、次のようなフィールドを使用します

{ =SUM(datatable [F:F]) }

または、出力ドキュメントでフィールド コードを解決する場合は、次を使用します。

{ QUOTE { =SUM(datatable [F:F]) } }

1 対多のマージ (データ ソースに 5 つ以上のレコード) を実行している場合、{ NEXT } フィールド アプローチは機能しません。何をする必要があるかを詳しく説明できますが、概要は、ページのデータがいつ終了するかを知らせる何かが必要であり、それを使用して、存在しないはずの行の出力を抑制する必要があるということです。(より単純であると考える人もいるかもしれませんが、各ページの最初の行に行数を設定し、行数に応じて正しい数のテーブル行 + コンテンツを挿入する IF ブロックを使用することもできます。

于 2015-11-24T11:15:22.733 に答える