我正在使用包含此结构的对象的对象数据源设置邮件合并文档:
id,firstName,lastName,address,donationText,donations
捐赠是一个具有以下属性的对象:donationType,donationAmount,donationDate
邮件合并文档使用合并域TableStart和TableEnd来控制要使用的对象数据。例如,要使用firstName和lastName字段,您必须像这样使用TableStart。
{MERGEFIELD TableStart:person}
{MERGEFIELD firstName} {MERGEFIELD lastName}
{MEREFIELD TableEnd:person}
由于捐赠是一个对象,您必须使用TableStart / TableEnd来访问这些字段。
{MERGEFIELD TableStart:person}
{MERGEFIELD firstName} {MERGEFIELD lastName}
{MERGEFIELD TableStart:donation}
{MERGEFIELD donationType}
{MERGEFIELD TableEnd:donation}
{MERGEFIELD TableEnd:person}
您不能使用TableStart / TableEnd中人员的字段进行捐赠,反之亦然。我需要做的是能够检查donationType,如果是CHK或ECHECK,则插入donationText。我想你可以使用这样的IF语句:
{MERGEFIELD TableStart:person}
{MERGEFIELD firstName} {MERGEFIELD lastName}
{IF "{MERGEFIELD TableStart:donation}{MERGEFIELD donationType}{MERGEFIELD TableEnd:donation}" = "CHK" "{MERGEFIELD donationText}" ""}
{IF "{MERGEFIELD TableStart:donation}{MERGEFIELD donationType}{MERGEFIELD TableEnd:donation}" = "ECHECK" "{MERGEFIELD donationText}" ""}
{MERGEFIELD TableEnd:person}
如果每个IF语句都在一个单独的行中,我可以使用此语句。我需要它们在同一行,以防止出现空行。我也尝试在另一个中嵌入一个IF语句,但之后这两个IF语句都不起作用。
我正在使用MS Word 2010。
答案 0 :(得分:0)
我找到了解决方案。为了在另一个中嵌入一个IF语句,必须在嵌入的IF语句之前添加换行符。
{MERGEFIELD TableStart:person}
{MERGEFIELD firstName} {MERGEFIELD lastName}
{IF "{MERGEFIELD TableStart:donation}{MERGEFIELD donationType}{MERGEFIELD TableEnd:donation}" = "CHK" "{MERGEFIELD donationText}" {
IF "{MERGEFIELD TableStart:donation}{MERGEFIELD donationType} {MERGEFIELD TableEnd:donation}" = "ECHECK" "{MERGEFIELD donationText}" ""}}
{MERGEFIELD TableEnd:person}
添加换行符允许TableStart工作,否则会出现错误,因为两个TableStart标记不能在同一行中。