NextIf 字段比较两个表达式。 如果比较为 true,Word将下一个数据记录合并到当前合并文档中。 如果比较为 false,Word将下一条数据记录合并到新的合并文档中。
可以使用 NextIf 字段对数据记录进行分组,就像在数据库报表中一样。 例如,可以使用 If、Set 和 NextIf 字段的组合将具有相同邮政编码的所有记录合并到合并中的一页,并在数据文件中遇到新邮政编码时在合并中创建一个新页面。 但是,这样的合并设置起来很复杂,并且需要对数据源进行结构化以容纳合并字段。
如果目标是选择性地包含数据源中的某些记录,则可以使用“邮件合并收件人”对话框中的“筛选”命令更轻松地执行此操作,单击“邮件”选项卡上的“开始邮件合并”组中的“编辑收件人列表”时会显示该命令。
注意
- NextIf 字段不能用于脚注、尾注、批注、页眉、页脚或数据源。
- NextIf 字段不能嵌套在任何字段中。
语法
查看文档中的 NextIf 字段时,语法如下所示:
{ NEXTIFExpression1 运算符 Expression2}
注意
域代码决定域显示的内容。 域结果是评估域代码后在文档中显示的结果。 要在查看域代码和域代码结果之间切换,请按 Alt+F9。
属性
Expression1、Expression2
要比较的值。 这些表达式可以是合并字段数据、书签名称、字符字符串、数字、返回值的嵌套字段或数学公式。 如果表达式包含空格,请将表达式括在引号内。
注意
- 如果在表达式中使用合并字段 (MergeField) ,则合并字段引用当前数据记录中的数据,而不是下一个数据记录中的数据。
- Expression2 必须用引号括起来,以便将其作为字符串进行比较。
- 如果运算符为 = 或 <>, 则 Expression2 可以包含问号 (?) 来表示任何单个字符或星号 (*) 表示任何字符串。
- 如果在 Expression2 中使用星号, 则 Expression1 中与星号对应的部分和 Expression2 中剩余的任何字符不能超过 128 个字符。
运算符
比较运算符。 在 运算符前后插入一个空格。
| 运算符 | 说明 |
|---|---|
| = | 等于 |
| <> | 不等于 |
| > | 大于 |
| < | 小于 |
| >= | 大于等于 |
| <= | 小于等于 |
说明
可以在文档中或邮件合并中使用 NextIf 字段。
若要在文档中使用 NextIf 字段,请执行以下操作:
- 在“插入”选项卡上的“文本”组中,单击“文档部件”,然后单击“域”。
- 在 “字段名称” 列表中,选择“ 下一步”“如果”。
- 在 “域代码 ”框中,按照上面所示的语法键入表达式、运算符、true 文本和 false 文本。
- 单击“确定”。
若要在设置邮件合并时使用 NextIf 字段作为邮件合并的一部分,请执行以下操作:
在“ 邮件 ”选项卡上的“ 写入 & 插入字段” 组中,单击“ 规则”,然后单击“ 下一个记录 If”。
在 “字段名称” 列表中,选择合并字段的名称,例如 “城市”。
在 “比较 ”列表中,选择所需的运算符。 例如,若要挑出特定城市中的收件人,请单击“ 等于”。
在“比较对象”框中键入要使用的值。 例如,要选择在东京的收件人,请键入东京。
注意
如果在“比较”列表中选择了“为空”或“不为空”,请将“比较到”框留空。
示例
数据源包含用于标记每个邮政编码的最后一条记录的字段,并且对数据源进行排序,以便具有相同邮政编码的所有记录一起显示。 以这种方式设置数据源时,可以使用 Word 中的 Set 和 If 字段来检查记录是否是数据源中最后出现的邮政编码。
完成此检查后,可以使用 NextIf 字段来确定当前记录是否是特定邮政编码的最后一个匹配项。 只要当前记录不是最后一个匹配项,该邮政编码的记录将添加到当前合并文档中。 当当前记录是邮政编码的最后一个匹配项时,将为数据源中列出的下一个邮政编码开始新的合并文档。
在邮件合并主文档中插入以下 NextIf 字段时,NextIf 字段将检查当前数据记录中 LastZipcode 字段的内容。 如果 LastZipcode 字段为空,则数据源中下一条记录中的数据将合并到当前合并文档中。 如果 LastZipcode 字段不为空,则数据源中下一条记录中的数据将合并到新的合并文档中。
{ NEXTIF { MERGEFIELD LastZipcode } = “” }