Ms word 合并字段的MS Word邮件合并自动编号

Ms word 合并字段的MS Word邮件合并自动编号,ms-word,mailmerge,mergefield,Ms Word,Mailmerge,Mergefield,我只是学习如何在MS Word中使用MAILMERGE。我想用字母顺序列出我的合并字段,我的代码如下: { SEQ list \* alphabetic }. { MERGEFIELD item1 } { SEQ list \* alphabetic }. { MERGEFIELD item2 } { SEQ list \* alphabetic }. { MERGEFIELD item3 } { SEQ list \* alphabetic }. { MERGEFIELD item4 } {

我只是学习如何在MS Word中使用MAILMERGE。我想用字母顺序列出我的合并字段,我的代码如下:

{ SEQ list \* alphabetic }. { MERGEFIELD item1 }
{ SEQ list \* alphabetic }. { MERGEFIELD item2 }
{ SEQ list \* alphabetic }. { MERGEFIELD item3 }
{ SEQ list \* alphabetic }. { MERGEFIELD item4 }
{ SEQ list \* alphabetic }. { MERGEFIELD item5 }
a.  duck
b.  dog
c.  car
d.  pig
上述代码的结果是:

a.  duck
b.  dog
c.  bird
d.  cat
e.  pig
当一个或多个MERGEFIELD值为空时,我遇到问题。例如,如果 {MERGEFIELD item3}为空,它将生成如下列表:

a.  duck
b.  dog
c.  
d.  cat
e.  pig
我想要的是这样的:

{ SEQ list \* alphabetic }. { MERGEFIELD item1 }
{ SEQ list \* alphabetic }. { MERGEFIELD item2 }
{ SEQ list \* alphabetic }. { MERGEFIELD item3 }
{ SEQ list \* alphabetic }. { MERGEFIELD item4 }
{ SEQ list \* alphabetic }. { MERGEFIELD item5 }
a.  duck
b.  dog
c.  car
d.  pig
如果是Windows Word 2003或更高版本(或者可能是Word XP,我忘了),最简单的方法可能是使用以下嵌套字段代码,并依靠Word“抑制空行”(这是其默认设置)

(所有{}必须是特殊字段代码大括号对,可以使用ctrl-F9在Windows Word中插入。此外,预览时,空行仍会显示,开头带有“.”,但在实际执行合并时,它们应该会消失。)

如果您使用的是Windows Word XP/2000或更早版本,或Mac Word的任何版本,则不支持\b标志。因此,您必须使用IF字段来生成空白/非空白案例的结果。问题是IF字段中的SE字段通常会在是否输出结果文本时进行计算,因此在序列中会出现间隙。即使试图让Word使用两种不同的序列(“如上所述的列表”和“nolist”),也不能像您希望的那样工作。但是,您可以尝试另一种方法(它应该适用于Word的所有版本):

对于使用SET的编码,可以使用

{ MERGEFIELD "item{ SEQ i }" \b "{ SEQ { IF MERGEFIELD "item{ SEQ i \c }" } = "" nolist list } \*alphabetic }. " }
{ IF { MERGEFIELD "item{ SEQ i}" } <> "" "{ SET list { =list+1 } }{ list \*alphabetic }. { MERGEFIELD "item{ SEQ i \c }" }
" }
{IF{MERGEFIELD“item{SEQ i}”}“{SET list{=list+1}}{list\*字母}.{MERGEFIELD”item{SEQ i\c}”
" }

感谢您的建议,比巴迪亚。有没有办法为许多列表数据生成字母顺序更正?对于我上面的例子,只有5项。如果我有超过20件物品怎么办?我应该手动设置条件来创建正确的编号,还是有办法自动生成正确的字母顺序?我一直在谷歌上搜索,没有找到任何与我的案件有关的文章。谢谢工作!!!我使用您的第一个代码:{MERGEFIELD item1\b{SEQ{IF{MERGEFIELD item1}=”“nolist}*alphasoric}.}我的错误是我没有使用预览结果来查看它。谢谢你,比巴迪亚。这是我第一次使用字段代码。