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