如何在 Word 2010 中的条件字段代码中创建段落分隔符

如何在 Word 2010 中的条件字段代码中创建段落分隔符

我正在尝试使用字段代码和邮件合并创建一个顺序列表。我的问题是,某些项目不需要出现在列表中,具体取决于邮件合并的进行方式。这很令人困惑,所以我将举一个例子。

假设我正在整理各种水果的数量清单。我有一个邮件合并文档,其中显示我有多少苹果、橙子和梨。因此,清单可能如下所示:

  1. 有32个苹果。
  2. 有27个橙子。
  3. 有3個梨。

使用字段代码看起来更像这样:

(SEQ list1) 有 (MERGEFIELD "Apples") 个苹果。

(SEQ list1) 有 (MERGEFIELD "Oranges") 个橙子。

(SEQ 列表 1) 有 (MERGEFIELD "Pears") 个梨。

现在,如果没有橙子,我根本不想让它出现在列表中。我只希望列表看起来是这样的:

  1. 有32个苹果。
  2. 有3個梨。

为此,我使用 if/then 条件。如果 (MERGEFIELD Oranges) = 0 "" "(SEQ list1) 有 (MERGEFIELD "Apples") 个苹果。这成功地从列表中删除了橙子,但仍有一个空格:

  1. 有32个苹果。

  2. 有3個梨。

我尝试了所有可以去除该空间的方法,但还是没办法。也许有人可以帮我。

答案1

为了避免多余的空格,您需要将段落标记放在 IF 字段文本内,因此您有类似以下内容

{ IF { MERGEFIELD Apples } = 0 "" "{ SEQ list1 } There are { MERGEFIELD Apples } apples.
" }{ IF { MERGEFIELD Oranges } = 0 "" "{ SEQ list1 } There are { MERGEFIELD Oranges } oranges.
" }{ IF { MERGEFIELD Pears } = 0 "" "{ SEQ list1 } There are { MERGEFIELD Pears } pears.
" }whatever text comes next, assuming that there is always at least one numbered paragraph.

换句话说,您需要在每个 IF 字段的最后一个双引号前插入一个段落标记。

但是,这还不够,因为即使在 { MERGEFIELD Apples } 为 0 等情况下,Word 也会评估 SEQ 字段,因此,如果没有苹果,则 Oranges 的 SEQ 字段将评估为 2,而不是 1。在合并中,您可以使用以下命令解决这个问题:

{ SET list1 0 }{ IF { MERGEFIELD Apples } = 0 "" "{ SET list1 { =list1+1 }{ list1 } There are { MERGEFIELD Apples } apples.
" }{ IF { MERGEFIELD Oranges} = 0 "" "{ SET list1 { =list1+1 }{ list1 } There are { MERGEFIELD Oranges } orangee.
" }{ IF { MERGEFIELD Pears } = 0 "" "{ SET list1 { =list1+1 }{ list1 } There are { MERGEFIELD Pears } Pearss.
" }whatever text comes next, assuming that there is always at least one numbered paragraph.

(可以使用 SEQ 字段,但是比较棘手)。

相关内容