WORD域代码参考手册

WORD域
word域必备知识:
1、在Word中,‌域(Field)‌是一种动态代码结构,用于在文档中自动插入或更新可变内容(如页码、日期、公式等),其核心功能与Excel中的函数类似‌; 
2、域快捷键:Ctrl+F9(插入空域,非普通大括号),Shift+F9(单个域切换域代码与结果), Alt+F9(全部域切换域代码与结果),F9(更新选定域),Ctrl+F11(锁定域,锁定后无法更新内容),Ctrl+Shift+F11(解锁域);
3、域中文件路径写法:单斜杠需要改为双反斜杠;若文件名包含空格,需用引号括住。如{ RD "C:\\My Documents\\Manual.docx"};
4、嵌入域和其它文本或符号一起作为域参数时,必须在两边加上引号;
5、辅助域:仅自身不会对文档内容作用,是作为其它域的辅助域,如TC域、RD域、XE域等,通过关闭【显示/隐藏编辑标记】就可隐藏其域代码‌;
6、域格式开关(所有有返回值的域都可以有):
   a、域开关\* text_format:用于文本格式控制‌,具体见附录A。;
   b、域开关\# Digital_format:用于接数字格式控制‌,具体见附录A;
   c、域开关\@ Date_format:用于‌指定日期/时间的显示格式‌‌,具体见附录A
7、书签:在Word中,‌书签‌(Bookmark)是一种用于快速定位文档特定位置的标记工具。常与REF域一起作为长文档导航或交互式表单设计。书签在很多域中起作用,特别地,书签可作为变量使用,ASK域就是通过SET域把书签作为书签变量使用;
8、邮件合并:Word中的‌邮件合并‌(Mail Merge)是制作同模板样式但存有不同关键字的批量文档的高效工具。主要步骤是先将Word文档与外部数据源(如Excel表格)关联,然后再通过MERGEFIED域、ASK域、FILLIN域、NEXT域等域代码指定值到需要的位置‌,最后根据模板和给定的动态数据进行邮件合并操作达到批量生成格式统一但内容有所不同的文档,如通知书、邀请函等。
序号分类域名作用例子
 与目录和索引相关的域SEQ域SEQ域‌是一种用于自动生成序列编号的域代码,常用于表、插图、公式等内容的自动编号。SEQ域的标识符也可以作为TOC域的参数(\c、\a、\s),用于表条目、插图、公式等条目的生成。但无级别,因此和大纲目录有区别,通常需要嵌套到TC域中
语法:{ SEQ Identifier [Bookmark] [Switches] }
Identifier:作为一个系列序号的标识符。不同标识符代表不同的系列类别。
Bookmark:表示返回在Bookmark之前最近的、同系列SEQ域的值。
Switches:
\n—插入由标识符指定的项的下一个序列号。 这是默认选项;
\c—重复前面最接近的序列号。 这对于在页眉或页脚中插入章节编号很有用;
\h—隐藏字段结果。 使用它可以引用交叉引用中的 Seq 字段,而无需打印数字。 例如,你可能想要引用带编号的章节,但不打印章节编号。 如果格式 (\*) 开关也存在,则 \h 开关不会隐藏字段结果;
\r num—将序列号重置为指定的数字 num。如{ SEQ figure \r 3 }表示此处数字编号为3,那接下来标识符为figure的SEQ域{ SEQ figure \n }数字编号就为4;
\s—在“s”后面的标题级别重置序列号。如{ SEQ 图 \s 2 } 表示从级别2的标题后开始编号 。
{SEQ AA \# 00 }显示标识符为AA的两位数的序号
 TC域TC域也是构成目录的重要部分,TOC域中TC域的EntryIdentifier作为参数(\f、\l)。如同大纲TC域也有级别,所以可与大纲目录处于一个目录下,作为辅助条目。
语法:{ TC Text [Switches] }
Text:目录中的条目文本。
Switches:
\f EntryIdentifier—EntryIdentifier(条目标识符)用于区分TC域所构成的列表的不同类别。具体见TOC域说明;
\l LevelNum—LevelNum用于指定为条目的级别。 此级别与大纲级别等同;
\n—省略条目的页码。
{ TC 图2-1 \f ID1 \l 1}表示在目录中显示名为“图2-1”、级别为1级的、类别为ID1的TC域代码
 TOC域语法:{ TOC [Switches] }
Switches:
1、用于确定目录中包含的内容的开关
\o "Levels"—根据包含大纲级别的段落生成目录。例如, { TOC \o "1-3" } 仅列出格式为包含大纲级别 1 到 3 的样式的段落。 如果未指定大纲级别范围,则会列出文档中使用的所有大纲级别。 用引号将范围号括起来;
\l "Levels"—指定目录中显示的TC域级别范围内容‌。例如,{ TOC \l "1~4" \f ID } 从标识符为“ID”的TC域生成目录,将条目分配给1~4级别的内容;
\f TCIdentifier—从 TC 字段生成表。 如果未指定EntryIdentifier,则是从所有TC字段生成目录。如果指定了EntryIdentifier,则仅从具有相同标识符的 TC 字段生成目录。如有TC目录域{ TC 目录名1 \f t1 }、{ TC 目录名2 \f t1 }、{ TC 目录名3 \f t2 },那么{ TOC \f t1 } 表示只从 TC 字段生成“目录名1”和“目录名2”目录,但无“目录3”目录。由于TOC域中可以有多个TC域标识符,所以可以通过SEQ域嵌套于TC域中生成层次分明且包含多个类型SEQ的综合目录;
\t “Style1,Style1_Level,Style2,Style2_Level,...”—使用除内置样式以外的样式设置各个级别段落格式生成目录。 例如, { TOC \t “chaptertitle,1, chapterhead,2” } 根据样式为“chaptertitle”和“chapterhead”格式的段落生成目录。 每个样式名称后面的数字指示与该样式对应的目录入口级别;

 
 
 \c "SEQIdentifier"—自动收集标识符所对应的SEQ域所在段落的所有内容(包括图片等);
\a "SEQIdentifier"—自动收集标识符所对应的SEQ域后面的描述文字,硬回车后文字不计;
\b Bookmark—仅从指定的书签所标记的文档范围中收集条目。
2、设置页码格式的开关
\s SEQIdentifier
在标题前添加SEQ域后,通过/s开关实现在目录页码前添加序列号,中间的默认分隔符为“-”。如第二章内容,第23页,通过\s SEQ_Identifier开关让页码显示为2-23;
\d "Separator"—需与\s 开关一起使用时,指定分隔序列号和页码的字符。 用引号将字符括起来。 如果未指定 \d 开关,Word使用连字符 ( ) 。 在 由 { TOC \o “1-3” \s chapter \d ":" } 生成的目录中,冒号 (:) 分隔章节号和页码,例如“2:14”;
 \p "Separator"—指定分隔条目及其页码的字符。 例如,带有短划线的字段 { TOC \p "-" }将显示一个结果,例如“选择文本 - 53”。 默认值为带前导点的选项卡。 只允许一个字符;它必须用引号引起来;
\n 级别—省略目录中的页码。 除非指定了一系列条目级别,否则将从所有级别省略页码。 例如, { TOC \n 3-4 } 省略级别 3 和 4 中的页码。 删除此开关以包含页码。
3、设置表条目格式的开关
\h —将 TOC 条目作为超链接插入;
\w—保留表条目中的选项卡条目;
\X—保留表条目中的手动换行符;
\Z—隐藏 Web 布局视图中的选项卡前导符和页码。
 总结:
1、\o开关规定要显示的标题级别;
2、\l开关规定要显示的级别(包括所有的级别,有的软件可能只指TC级别目录);
3、\t开关让无级别的段落也生成目录;
4、\c和\a开关让对图表、插图、公式编号的SEQ域作为目录,但是条目无级别;
5、\f开关让TC域中的自定义文本作为目录条目,并且有级别;
6、\p "Separator"分隔条目及其页码的分隔符;
7、\b BookmarkName用于只显示文档一部分的目录;
8、\n level_num省略某一级别的页码;
9、超链接,\h开关就是此功能。
个人分析:
a、页码的样式太少了,应该要拥有更多页码样式,比如“第几章-第几页”等。\s开关生成的页码前置章节号令人较为迷糊;
b、每个级别的条目的文字样式不可以设置;
 RD域RD域是TOC域的辅助域,放于TOC域后面,用于外部文件目录的生成。
语法:{ RD FileFullName [\f]}
FileFullName:外部文档。
\f:—指示路径相对于当前文档,FileFullName直接写带后缀的文档名。
{ TOC \o "1-3" \f pt \h \z }{RD 风景区.docx \f}{RD 海洋.docx \f}
 XE域XE域用于生成Index域的条目,从而‌标记索引项‌。达到对文档内部的某些词进行快速查询的作用。
语法:{ XE Text [Switch] }
Text:要显示在索引中的文本。若要指示次索引项,请包括主条目文本和子条目文本,用冒号 (:) 分隔。
Switch:
\f XEIdentifier—定义条目类型。 字段 { XE 选择文本 \f a} 的条目仅包含在字段 { INDEX \f a} 插入的索引 中;
\b—对条目的页码应用加粗格式。但如果项的索引 样式 为粗体,则开关将删除加粗格式;
\i—使条目的页码斜体。但如果条目的索引样式是斜体,则开关将删除斜体格式;
\t Text—插入文本以代替页码。 将文本括在引号内。 字段 { XE 突出显示 \t 查看选择} 显示索引中的条目“突出显示,查看选择”;
\r Bookmark—将指定书签页范围作为条目的页码插入。 若书签“SelectingText”包含的范围为20~25,则字段 { XE 索引条目名 \r SelectingText } 在索引中将条目显示为“索引条目名,20~25”;
\Y(不作要求)—指定后续文本定义 yomi (第一个拼音字符,以便对索引项) 排序索引。
 
 INDEX域INDEX域通过收集 XE 指定的索引项 (索引项) 字段来生成索引。暂时没有超链接。
语法:{ INDEX [Switches] }
Switches:
\f XEIdentifier—仅使用指定的条目类型创建索引。 { INDEX \f a } 生成的索引仅包括用 XE 字段标记的条目,例如 { XE “选择文本” \f a }。
\b Bookmark—为指定 书签 标记的文档部分生成索引。 { INDEX \b Select } 表示为书签“Select”标记的文档部分生成索引;
\c col_num—在页面上创建包含多个列的索引。 字段 { index \c 2 } 创建一个双列索引。 最多可以指定四列;
\s SEQIdentifier—在标题前添加SEQ域后,通过/s开关实现在目录页码前添加序列号,中间的默认分隔符为“-”;
\d “分隔符”—与 \s 开关一起使用时,指定分隔序列号和页码之间的字符。需用引号将字符括起来;
\e "分隔符"—指定分隔索引项与其页码的字符。 { INDEX \e “; ”} 字段显示一个结果,例如“插入文本;索引中的 3 英寸。默认使用逗号和空格 (,) ;
\l “分隔符”—指定分隔多页引用的字符。 默认字符为逗号和空格 (,) 。 最多可以使用五个字符,这些字符必须用引号引起来。 字段 { INDEX \l "or " } 显示索引中的条目,例如“插入文本,23 or 45 or 66”;
 
 \r—让主条目与子条目项处于同一行放置,默认是分行放置。冒号 (:) 将主条目与子项分开,分号 (;) 将多个子项分开;
\g "分隔符"—当XE域指定开关\r label时,可指定页面范围的中间分隔字符。用引号将字符括起来。 默认值为短划线 ( –) ;
\h Heading —以首字母或首汉字笔画对索引进行分组,组之间插入heading字样的文本。需将文本括在引号内。文本需括在引号内。字段 { INDEX \h "-A-" } 在索引中的每个字母组之前显示相应的字母,中文显示笔画。若要在组之间插入空白行,请使用空引号: \h "";
\p Range—编译指定字母的索引。 字段 { INDEX \p a-m } 仅为字母 A 到 M 生成索引。若要包含以字母以外的字符开头的条目,请使用感叹号 (!) 。 { INDEX \p --t } 生成的索引包括任何特殊字符,以及字母 A 到 T;
\K "分隔符"—指定分隔索引项及其交叉引用的字符。 { INDEX \k “: ” } 字段在索引中显示一个结果,例如“插入文本:请参阅编辑”。 句点和空格 (。 如果省略 \k 开关,将使用 ) 。 用引号将字符括起来;
\Y—允许对索引项使用 yomi 文本;
\Z ID—定义 Microsoft Word 用于生成索引的地区设定ID。默认为文档的第一个字符对应语言的地区设定ID。常见的地区设定ID见附录B。。
BIBLIOGRAPHY域{BIBLIOGRAPHY [Switches]}
Switches:
\I ID是地区设定ID:决定显示书目的条目格式之来源。
\f ID是地区设定ID:根据地区设定识别码筛选书目。 只有使用 [预设] 语言设定的来源,或是符合地区设定识别码设定的设定,才会包含在书目中。常见的地区设定ID见附录B。
 其它一般不做要求:
1、TA域:在 Microsoft Word 中,‌授权数据表(Authorization Table)‌ 是一种用于管理法律文档授权引用的结构化工具,通常与 ‌TA 域(授权目录项目域)‌ 结合使用,实现自动化标记、分类和索引功能。
2、TOA域:TA域用于标记文档中需引用的内容(如法律条文、案例编号),并生成标准化的目录条目‌,而TOA域收集TA域标记的条目,生成结构化目录(如法律文档的授权表)‌
序号分类域名作用例子
 文档内部引用与链接REF域REF域插入指定的书签信息,默认插入书签原文本。书签必须在活动文档 中定义。交叉引用本质就是REF域。
语法:{ [REF] Bookmark [Switches] }
Switches:
\h—创建超链接至书签;
\P—使用单词“above”或“below”,使字段显示其相对于源书签的位置;
\n—使字段显示引用段落的段落编号;
\r—使得字段显示连同上一级编号的段落编号;
\w—使得字段显示连同所有上级编号的段落编号;
\t—当与 \n、\r 开关结合使用时,REF 字段将禁止显示非分隔符或非数字文本。例如,此开关与\n开关配合使用使用,“第 1.01 节”在结果中只显“1.01”;
\f—递增书签标记的脚注、尾注或批注编号,并插入相应的注释或 批注 文本。 例如,书签“Note1”标记脚注 1 的引用标记。 字段 { REF Note1 \f } 插入到脚注 2 之后。 字段结果在文档文本中显示脚注引用标记“3”,并将脚注 1 的文本插入到脚注窗口中;
\D—指定分隔序列号 ((如章节号) 和页码)的字符。
注:若书签本身为非编号段落,开关\n、\r、\w不生效。
 
 GOTOBUTTON域双击GoToButton域的结果时,Microsoft Word将插入点移动到文档中的指定位置处。GoToButton域是查看长篇文档的快速浏览工具。
语法:{ GOTOBUTTON Destination DisplayText }
Destination:指向的目的可以是书签、页码(s)、脚注(f)、批注(a)、页码(p)、行(l);
DisplayText:要显示的文本或图形。可以使用生成文本或图形的字段,例如 Bookmark 或 IncludePicture。文本或图形必须出现在字段结果中的一行上;否则,将发生错误。
//{GOTOBUTTON  p2 go第二页 }
//{GOTOBUTTON  bookmark "{ INCLUDEPICTURE  "C:\\Users\\Administrator\\Desktop\\锚.png"  \* MERGEFORMAT }go!” }
 PAGEREF域PAGEREF域用于插入文档内书签的页码。
语法:{ PAGEREF BOOKMARK [Switches] }
Switches:
\h—创建超链接;
\p—显示相对位置,如上方,下方这类词。
 
 NOTEREF域NOTEREF域插入用书签标记的脚注或尾注引用标记(如脚注编号),以便对同一注或交叉引用脚注或尾注进行多次引用。如果修改脚注或尾注序列,NOTEREF域的新结果将反映新的编号。
语法:{ NOTEREF Bookmark [Switches] }
Bookmark:书签需引用文档中的实际引用标记(如脚注编号),而非脚注/尾注窗口中的编号。若书签不存在,需先创建。
Switches:
\h—创建超链接至脚注或尾注引用标记;
\f—使用与脚注引用样式或尾注引用样式相同的字符格式插入引用标记;
\p—插入脚注或尾注的相对位置,如上方,下方这类词。但如果 NoteRef 字段显示在此指示的书签中,则返回错误。
 
 MACROBUTTON域MACROBUTTON域用于调入宏命令,可以通过双击 MACROBUTTON 字段的结果来运行该命令,还可以单击“MACROBUTTON”字段,然后Alt+SHIFT+F9。
语法:{ MACROBUTTON MacroName DisplayText }
MacroName:宏名;
DisplayText:要显示的文本或图形。可以使用生成文本或图形的字段,例如 Bookmark 或 IncludePicture。文本或图形不能横跨多行,否则将发生错误。
 
 STYLEREF域STYLEREF域属于链接和引用类域,用于提取文档中应用特定样式的文本内容。获取规定范围的首个或最后一个指定标题样式的文字或编号。
语法:{ STYLEREF StyleIdentifier [Switches] }
StyleIdentifier:用于设置要插入的文本格式的样式的名称。样式可以是段落样式或字符样式。如果样式名称包含空格,请用引号将其括起来。
Switch:
\i—插入规定范围内的最后一个符合样式要求的文本,而不是默认的第一个;
\n—插入最近的符合样式要求的段落编号;
\r—插入相对样式上一级范围的符合样式要求的段落编号;
\w—插入相对于整个文档的符合样式要求的段落编号;
\t—当与 \n、\r 或 \w 开关一起使用时,会导致 StyleRef 字段禁止显示非数字文本或非数字文本;
例如,使用此开关,可以引用“第 1.01 节”,结果中只显示“1.01”;
\p—显示其相对于参考样式的位置,如上方,下方这类词。但如果 StyleRef 字段出现在样式中,则返回错误;
注:一个STYLEREF域中开关\n、\r和\w只有一个会起作用。
在页眉上插入标题1编号和对应文字:{ STYLEREF  "标题 1" \r  \* MERGEFORMAT } {STYLEREF  "标题 1" \* MERGEFORMAT}
序号分类域名作用例子
 编号SEQ域SEQ域‌是一种用于自动生成序列编号的域代码,常用于表、插图、公式等内容的自动编号。SEQ域的标识符也可以作为TOC域的参数(\c、\a、\s),用于表条目、插图、公式等条目的生成。但无级别,因此和大纲目录有区别,通常需要嵌套到TC域中
语法:{ SEQ Identifier [Bookmark] [Switches] }
Identifier:作为一个系列序号的标识符。不同标识符代表不同的系列类别。
Bookmark:表示返回在Bookmark之前最近的、同系列SEQ域的值。
Switches:
\n—插入由标识符指定的项的下一个序列号。 这是默认选项;
\c—重复前面最接近的序列号。 这对于在页眉或页脚中插入章节编号很有用;
\h—隐藏字段结果。 使用它可以引用交叉引用中的 Seq 字段,而无需打印数字。 例如,你可能想要引用带编号的章节,但不打印章节编号。 如果格式 (\*) 开关也存在,则 \h 开关不会隐藏字段结果;
\r num—将序列号重置为指定的数字 num。如{ SEQ figure \r 3 }表示此处数字编号为3,那接下来标识符为figure的SEQ域{ SEQ figure \n }数字编号就为4;
\s—在“s”后面的标题级别重置序列号。如{ SEQ 图 \s 2 } 表示从级别2的标题后开始编号 。
{SEQ AA \# 00 }显示标识符为AA的两位数的序号
 LISTNUM域LISTNUM域基于预定义的多级列表样式生成编号。
语法:{ LISTNUM ["Name"] [Switches] }
Name:多级列表样式名。
Switches:
\l—指定列表中的级别,替代域的默认行为;
\s—指定此域的起始值。 这总是被假定为整数;
注:由于LISTNUM域不会被目录添加,所以为LISTNUM域定义的多级列表样式不要被用到以后作为目录条目的段落上。
 
序号分类域名作用例子
 运算与公式符号=域语法:{ = Formula}
Formula:Formula是一个表达式,它可以包含任何数字、书签、结果为数字的域、函数表达式。 表达式中可以引用Word表数据。
其中,
运算符:+(加法)、–(减法)、*(乘法)、/(除法)、%(百分比)、^(幂和根)、=(等于)、<(小于)、<=(小于或等于)、>(大于)、> =(大于或等于)、< >(不等于)、
//{ =sign(-9) }返回-1
//对于一行三列的表,在第三列的单元格中写下{ =A1+B1 }代表计算前两个单元格的数值和
 '函数: ABS(x)、AVERAGE()、COUNT()、MAX(x1,x2,…)、MIN(x1,x2,…)、INT(x)、MOD(x,y)、ROUND(x,y)、PRODUCT() 、 SUM()、SIGN(x) 、DEFINED(Expression)、NOT(Expression)、OR(Expression1,Expression2)、AND(Expression1,Expression2)、FALSE(返回 0) 、TRUE(返回值 1)。
注:
1、公式中可以引用书签。若书签为文本,则公式中书签返回值为0,若为数字返回数值;
2、公式中可以引用Word表数据表。数据的计算逻辑:在表中执行计算时,可引用 A1、A2、B1、B2 等表单元格,其中字母代表列号,数字代表行号。Word中的单元格引用,不同于Excel中的单元格引用,始终为绝对引用,而且不会显示 $ 符号。 例如,在 Word 中引用单元格 A1 与在 Excel 中引用单元格 $A$1 相同。单元格区域的引用方式如同EXCEL一样,如 { =SUM(a1:b2)  }表示计算当前表中a1:b2区域数值总和。若要引用另一个表中的单元格,先要用书签标识该表。例如,书签 Table2 标记另一个表,域 { =average(Table2 b:b) } 将计算书签名为Table2表中B列的平均值。
 IF域语法:{ IF Expression1运算符Expression2,TrueText, FalseText}{IF 订单>=100 “谢谢” “最小订单为 100 单位”}
 COMPARE域语法:{ COMPARE Expression1 运算符 Expression2 }
比较两个表达式,如果比较为 true,则显示结果“1”;如果比较为 false,则显示结果“0” (零) 。
//假定下面示例中的 IF 域将插入邮件合并主文档。合并每条数据记录时 COMPARE 域检查 CustomerNumber 和 CustomerRating 两个数据域。如果至少其中一个域为真,则 = (Formula) 域的 OR 函数返回值“1”(真),打印第一个引号中的文字。
{ IF { = OR ( { COMPARE { MergeField CustomerNumber } >= 4 }, { COMPARE { MergeField CustomerRating } <= 9 } ) } = 1 "Credit not acceptable" "Credit acceptable"}
 QUOTE域QUOTE域可以把域和文本绑定到一起。例如,{ QUOTE 现在是 { IF "{ DATE \@ "M"}>6" 下半年 上半年 } }。它可以包括除已过时的三个域 AutoNum、AutoNumLgl、AutoNumOut 和 Symbol 以外的任何其他域。
语法:{ QUOTE "LiteralText" }
LiteralText—插入的文本。 
特别地,在Word表格中,把QUOTE域与SEQ域结合使用实现‌类似Excel的序列复制公式,见下图。
 SYMBOL域SYMBOL域利用字符编号转为对应字符。
语法:{SYMBOL CharNum [Switches]}
CharNum:ANSI代码的字符或十六进制值。十六进制值的格式必须为0xn,其中十六进制数n前面是0x(零后跟字母 x)
Switches:
\a U_num—将指定的代码视为 ANSI 字符(ASCII码<美国标准信息交换码>,由美国国家标准局制定,用于表示所有拉丁文字字符);
\u U_num—指定字符 Unicode(‌Unicode‌是国际通用的字符编码标准,旨在为全球所有文字提供统一且唯一的二进制编码方案);
\j U_num—将指定的代码视为 SHIFT-JIS 字符(日本文字编码);
\f "Font Name" —包含要插入的字符的字体;字体名称必须用引号引起来。 如果没有此开关,字符来自应用于符号域代码的字体;
\h—插入符号,而不影响段落的行距。 如果使用此开关插入大符号,则可能覆盖符号上方的文本;
\s num—指定字号(以磅为单位)。
//在字体 Times New Roman 中,字段 { SYMBOL 163 } 的结果为£
 EQ域Eq域生成数学公式。在当前版本的Word中,建议直接使用“插入公式”来创建公式。 
序号分类域名作用例子
 邮件合并SET域Set域将特定信息分配给用书签命名的变量(以后都称之为书签变量)。
语法:{ SET Bookmark "Text" }
Bookmark—用书签名作为变量。一般书签变量直接建立书签即可,无需选中任何文本。SET域对书签变量进行赋值后,可以再次使用SET域进行修改,但把相关SET域全部删除后书签也会被删除。
Text—分配给书签的信息:文本值。 用引号将文本括起来;数字不需要引号。 该信息可以是嵌套字段的结果。
{ SET Quantity { FILLIN "Enter of items order:" } }
 MERGEFIELD域语法:{ MERGEFIELD FieldName [Switches] }
FieldName:所选 数据源 的标头记录中列出的数据字段的名称。 字段名称必须与标头记录中的字段名称完全匹配。
Switches:
\m —表示FieldName可用匹配域字段(映射字段)代替数据源字段。映射字段就是匹配域中WORD自带的字段,如TITLE(尊称)、LAST(姓氏)、FIRST(名称)、SUFFIX(称谓)、ZIP(邮政编码)、COMPANGY(公司)、ADDRESS1(地址1)、ADDRESS2(地址2)、MIDDLE(中间名)等30个映射字段。
\b BeforeText—指定要在 MergeField 字段之前插入的文本(如果字段不为空)。
\f AfterText—指定要在 MergeField 字段后插入的文本(如果字段不为空)。
\v—当数据源包含竖排文本(如东亚语言的纵向书写格式)时,\V开关会强制将合并后的文本按垂直方向排列。
 
 FILLIN域FILLIN域是在完成邮件合并的过程中提示用户输入填充值,填充值直接插入到FILLIN域位置。
语法:{ FILLIN ["Prompt"] [Switches] }
Prompt:弹出对话框上的提示语
Switches:
\d "Default"—如果在提示对话框中未键入任何内容时指定的默认填充值。若要将空白项指定为默认值,请在切换后键入空引号(\d "")。Word将使用输入的最后一个响应。 若要将空白项指定为默认值,请在切换后键入空引号( \d"");
\o—在邮件合并期间仅提示一次,而不是每次合并新数据记录时都提示。这样在生成的每个合并文档中插入相同的填充值。
 
 ASK域ASK域是在完成邮件合并(即编辑单个文档、打印文档、发送电子邮件)的过程中提示用户输入当前文档的“书签变量”值。在主文档中利用REF域来实现多处引用同一个书签变量值。相对于FILLIN,ASK域每一次输入的书签变量值可利用REF域在对应文档中重复使用。
语法:{ ASK Bookmark ["Prompt"] [Switches] }
Bookmark:用于邮件合并时需要输入值的书签变量。
Prompt:弹出对话框上的提示语,
Switches:
\d "Default"—如果在提示对话框中未键入任何内容时指定的默认填充值。若要将空白项指定为默认值,请在切换后键入空引号(\d "");
\o—在邮件合并期间仅提示一次,而不是每次合并新数据记录时都提示。这样在生成的每个合并文档中插入相同的填充值。
 
 NEXT域NEXT域表示接下来引用数据源的“下一行”字段值。
NEXT域之间的MERGEFIELD域引用字段值都属于同一行的值。为了更好的了解NEXT域,必须讲一下这时顺便提一下邮件合并的运行方式:操作邮件合并工具(打印文档、编辑单个文档、打印文档、发送电子邮件)其实相当于在新页面把我们建立好的主文档(肯定需要包含MERGEFIELD域来引用字段值)复制一次,至于复制多少次根据字段值数目和内部NEXT域数目,然后再在每个复制文档的开头加上NEXT域就基本完成了。至于编辑单个文档或发送电子邮件,其实就是利用程序(vba也可以做到)分开这些类似文档……。
 
 NEXTIF域NextIf域比较两个表达式。如果比较为true,Word将下一个数据记录合并到当前合并文档中。如果比较为false,Word将下一条数据记录合并到新的合并文档中。
语法:{ NEXTIF Expression1 运算符 Expression2 }
注:
1、可以使用通配符?和*;
2、NextIf 字段不能用于脚注、尾注、批注、页眉、页脚或数据源;
3、NextIf 字段不能嵌套在任何字段中。
{ NEXTIF { MERGEFIELD LastZipcode } = "" }如果 LastZipcode 字段为空,则数据源中下一条记录中的数据将合并到当前合并文档中。 如果 LastZipcode 字段不为空,则数据源中下一条记录中的数据将合并到新的合并文档中。
 SKIPIF域SkipIf 字段比较两个表达式:如果比较为 true,则 SkipIf 将取消当前合并文档,移动到 数据源 中的下一个 数据记录 ,并启动新的合并文档;如果比较为 false,则 Microsoft Word继续当前合并文档。
语法:{ SKIPIF Expression1 运算符 Expression2 }
注:可以使用通配符?和*
{ SKIPIF { MERGEFIELD Order } < 100 }将以下 SkipIf 字段插入主文档,则邮件合并时SkipIf 字段将检查当前数据记录中“Order”字段的内容。 如果“Order”字段包含的数字小于 100,则不会为该数据记录生成合并文档。
 GREETINGLINE域

GreetingLine域插入邮件合并问候语行。
语法:{ GREETINGLINE [Switches] }
\f word内置匹配合并域 —来源于源字段的映射字段的内置合并域,如<<_TITLE0_>>、<<_FIRST0_>>…。目前似乎不可以直接用“<<数据源字段>>”这种方式插入值。<<_BEFORE_前文本>>、<<_AFTER_后文本>>用于在映射字段的前后添加文字;
\e 默认文本—如果数据源中的字段为空时返回的文本;
\I ID—指定用于设置名称格式的地区设定ID。默认为文档的第一个字符对应语言的地区设定ID。常见的地区设定ID见附录B。

 
 ADDRESSBLOCK域AddressBlock域代码插入邮件合并地址块。
语法:{ ADDRESSBLOCK [Switches] }
Switches:
\f 匹配域占位符—用匹配域占位符指定地址等信息。目前似乎不可以用数据源字段;
\c num—指定是否包括国家/地区的名称。num为0 (零) 省略国家/地区,num为1将始终包含国家/地区,或num为2仅当与 \e 的值不同时包含国家/地区;
\d—指定根据收件人的国家/地区设置地址的格式。 如果未使用此开关,则会根据 windows 控制面板Microsoft区域设置中指定的首选项设置地址的格式;
\e—指定要从地址块中排除的国家/地区。 当邮件包含国内和国际收件人混合时,这很有用。注意: 如果要排除多个国家或地区的名称,请使用每个国家或地区的 \e 开关;
\l—指定用于设置地址格式的地区设定ID。默认为文档的第一个字符对应语言的地区设定ID。常见的地区设定ID见附录B。
 
 DATABASE域(直接复制MICROSOFT官网资料)DATABASE域将数据库查询的结果插入Word表中。如果列数为62或更大,“数据库”字段会将查询结果插入到由选项卡分隔的列中。“数据库”字段包含连接到数据库和执行结构化查询语言(SQL)查询所需的所有信息。 更新字段以再次查询数据库。
语法:{ DATABASE [Switches] }
Switches:
\D Location—数据库的 路径 和文件名。用于除使用ODBC对SQL数据库表的查询之外的所有数据库查询;
\C ConnectInfo—指定与数据的连接。 例如,对 Microsoft Office Access 数据库的查询可能包含连接说明 \c “DSN=MS Access Databases;DBQ=C:\\Data\\Sales93.mdb;FIL=RedISAM;”;
\H—将数据库中的字段名称作为列标题插入到生成的表中;
\l “Format#”—将“表自动套用格式”对话框中的格式应用于数据库查询的结果。 数字Format#由你在对话框中选择的表格式决定。如果使用此开关,并且 \b 开关未指定表属性,Word插入未格式化的表;
\B Sum—指定要应用于表的 \l 开关设置的格式的属性。 如果\l开关为空,则\b开关值必须为16 (AutoFit)。包括以下值的任意组合的总和,以指定开关的值。可以组合的值为:0(无)、1(边框)、2(阴影)、4(字体)、8(颜色)、16(自动调整)、32(标题行)、64(最后一行)、128(第一列)、256 (最后一列)。例如,开关 \l 3 \b 11仅应用由 \l 开关设置的表格式的边框、底纹和颜色属性;
 
 \F “StartNumber”—指定要插入的第一个数据记录的记录编号,例如 ,\f“2445”;
\T “EndNumber”—指定要插入的最后一条数据记录的记录编号,例如:\t“2486”;
\S “SQL”—SQL 指令。 必须在说明中的每个引号前插入反斜杠 (\) 。 例如,Access 数据库的说明可能如下所示:“select * from \s \s \”Customer List\“”;
\O—在合并开始时插入数据。
 
序号分类域名作用例子
 链接外部文档INCLUDEPICTURE域INCLUDEPICTURE域比插入图片更高级的插图工具
{ INCLUDEPICTURE "FileName" [Switches] }
FileName—文档的名称和位置。 如果位置包含具有空格的长文件名,请加引号。 用双反斜杠替换单反斜杠以指定路径
Switch:
\c converter—标识要使用的图形过滤器。 使用不带 .flt 文件扩展名的图形过滤器的文件名;例如,在 Pictim32.flt 过滤器中键入 pictim32;
\d—通过不在该文档中保存图形数据减少文件大小。
 
 INCLUDETEXT域语法:{ INCLUDETEXT "FileName" Bookmark [Switches] }
FileName—文档的名称和位置。 如果位置包含具有空格的长文件名,请加引号。 用双反斜杠替换单反斜杠以指定路径
Switch:
\!—防止Word更新插入文本中的字段,除非这些字段首先在源文档中更新;
\C classname—是将要使用的文件格式转换器;
\n、\t和\x开关是关于,xsl文件和xml文件的开关,这里不讲解。
{ INCLUDETEXT "C:\\Users\\Administrator\\Desktop\\目录2.docx" Summary }代表插入名为“Summary”的书签所引用的文件部分
 RD域RD域是TOC域的辅助域,放于TOC域后面,用于外部文件目录的生成。
语法:{ RD FileFullName [\f]}
FileFullName:外部文档全名。
\f:—指示路径相对于当前文档,FilefullName直接写带后缀的文档名。
{ TOC \o "1-3" \f pt \h \z }{RD 风景区.docx \f}{RD 海洋.docx \f}
 HYPERLINK域HYPERLINK域就是word常用的超链接
语法:{ HYPERLINK "Filename" [Switches] }
Filename—要跳转到的目标。 如果位置包含具有空格的长文件名,请加引号。 用双反斜杠替换单反斜杠以指定路径,例如:"C:\\My Documents\\Manual.doc"。对于 Internet 地址,请包括 协议和与 URL 相同的语法,例如:"http://www.microsoft.com/"和"mailto:someone@example.com"。
Switches:
\o—指定超链接的屏幕提示文本;
\i—指定文件中此超链接将跳转到的位置,如用书签名;
\m—将坐标追加到服务器端图像映射的超链接;
\n—使目标站点在新窗口中打开;
\t—指定链接应重定向到的目标。使用此开关可将框架页链接到要显示在框架页外部的页面。
 
 LINK域LINK域用于在Word文档中嵌入或链接其他应用程序(如Excel、PDF等)的数据对象‌
语法:{ LINK ClassName “FileName” [PlaceReference ] [Switches] }
classname:源应用程序类型,如Excel.Chart.8、Package、Word.Document.12、PowerPoint.Slide.12…。

filename:源文件路径。
placereference:标识要链接的源文件哪一部分。如果源文件是 Microsoft Excel工作簿,则引用可以是单元格引用或命名区域。如果源文件是 Word 文档,则引用为书签 。‌
Switches:
\a—自动更新 LINK 字段;删除此开关以使用手动更新;
\b—将链接的对象作为位图插入;
\d—图形数据不随文档一起存储,因此减小了文件大小;
\f—用0~5值代表链接对象的6种不同更新格式方式,具体见MICROSOFT官网;
\h—以HTML 格式文本插入链接对象;
\p—以图片格式插入链接对象;
\r—以RTF格式插入链接对象;
\t—以纯文本格式插入链接对象。
{ LINK Word.Document.12 C:\\Users\\Administrator\\Desktop\\目录3.docx 开始 }嵌入C:\Users\Administrator\Desktop\目录3.docx中的“开始”书签
序号分类域名作用例子
 文档信息的查看和修改SECTION域插入当前节的编号 
 SECTIONPAGES域插入当前节的总页数 
 REVNUM域插入文档修订数 
 PAGE域插入当前页码 
 NUMPAGES域插入总页数 
 NUMCHARS域指定文档中字符总数 
 DOCPROPERTY域DocProperty域字段插入各类文档信息
语法:{DOCPROPERTY PropertyName}
PropertyName—有Author、Bytes、Category、Characters、CharactersWithSpaces、Comments、Company、CreateTime、HyperlinkBase、Keywords、LastPrinted、LastSavedBy、LastSavedTime、Lines、Manager、NameofApplication、ODMADocId(针对ODMA文档)、Pages、Paragraphs、RevisionNumber、Security、Subject、Template、Title、TotalEditingTime、Words这些所有共查询的信息
 
 FILENAME域{ FILE NAME [\p] }
\p—包括文件路径的文件名。
 
 CREATEDATE域CreateDate 字段插入使用文档当前名称首次保存文档的日期和时间。
语法:{ CREATEDATE [ \@ "Date-Time Picture"] [Switches]}
Date-Time Picture:指定日期和时间格式,与EXCEL单元格日期格式类似。
Switches:
\h—指定使用日历/农历;
\s—指定 Saka Era 日历的用法。
{ CREATEDATE \@ "dddd, MMMM d, yyyy HH:mm"}显示文档创建的日期和具体时间,如:Sunday, August 24, 2025 20:13
 EDITTIME域EDITTIME域用于插入文档编辑总时间 
 SAVETIME域插入文档最后一次保存时的日期和时间 
 PRINTTIME域插入文档上次打印时的日期和时间 
 FILESIZE域语法{ FILESIZE [Switches] }
Switches:
\k—以千字节 (K) 显示结果,舍入到最接近的整数;
\m—以兆字节 (MB) 显示结果,舍入到最接近的整数。
 
 TEMPLATE域TEMPLATE域用于插入文档模板的文件名。
{ TEMPLATE [\P] }
\p—包括文件位置或 路径 文件名。
{ TEMPLATE \p \* MERGEFORMAT }返回形式如下:
C:\Users\Administrator\AppData\Roaming\Microsoft\Templates\Normal.dotm
 AUTHOR域AUTHOR域是用于写入文档属性之作者名
语法:{ AUTHOR [AuthorName] }
 
 COMMENTS域COMMENTS域是用于写入文档属性之备注
语法:{ COMMENTS [NewComments] }
 
 KEYWORDS域KEYWORDS域是用于写入文档属性之标记
语法:{ KEYWORDS [NewKeywords] }
 
 SUBJECT域SUBJECT域是用于写入文档属性之主题
语法:{ SUBJECT [NewSubject] }
 
 TITLE域TITLE域是用于写入文档属性之主题
语法:{ TITLE [NewTitle] }
 
 USERADDRESS域USERADDRESS域是用于写入用户的地址
语法:{ KEYWORDS [NewUseraddress] }
 
 USERINITIALS域USERINITIALS域是用于写入用户的姓名缩写
语法:{ SUBJECT [NewUserinitials] }
 
 USERNAME域USERNAME域是用于写入用户名
语法:{ TITLE [NewUsername] }
 
序号分类域名作用例子
 日期和时间DATE域

显示当前日期。指定日期和时间格式,与EXCEL单元格日期格式类似。

 
 TIME域显示当前时间 
序号分类域名作用例子
 图文集AUTOTEXT域AUTOTEXT插入自动图文集项。
语法:{ AUTOTEXT AutoTextEntry }
AutoTextEntry:自动图文集词条的名称
 
 AUTOTEXTLISTAutoTextList域代码基于活动模板中的所有自动图文集创建快捷菜单。但是目前似乎不可以以自动图文集的类别创建快捷菜单,所以没什么作用
语法:{ AUTOTEXTLIST “Literal text” \s [“Style name”] \t [“Tip text”] }
Literal text:在用户显示快捷菜单之前在文档中显示的文本。如果文本包含空格,请用引号将其括起来。
Style name:要显示在列表中的自动图文集条目的样式的名称。样式可以是段落样式或字符样式 。如果样式名称包含空格,请用引号将其括起来。
Tip text:当鼠标指针悬停在字段结果上时,屏幕提示中显示的文本。将文本括在引号内。
 
序号分类域名作用例子
 其它DocVariableDocVariable用于动态插入已定义的文档变量值。文档变量一般需要在VBA中定义。
语法:{ DOCVARIABLE "VariableName" }
Sub 文档变量的添加和读取和删除()

'添加文档变量
On Error Resume Next
ActiveDocument.Variables.Add Name:="ProjectName1", Value:="年度报告"
ActiveDocument.Variables.Add Name:="ProjectName2", Value:="月度报告"
Dim var As Variable

'依次读出文档变量
For Each var In ActiveDocument.Variables
    Debug.Print var.Name & " = " & var.Value
Next
'依次删除文档变量
For Each var In ActiveDocument.Variables
    ActiveDocument.Variables(var.Name).Delete
Next

End Sub
 PRINT域“打印”字段将打印机控制代码字符发送到所选打印机。 仅当打印文档时,Microsoft Word才显示结果。 有关适当的打印机代码,请参阅打印机手册。
语法:{ PRINT "PrinterInstructions" }
PrinterInstructions:\p page(默认值,打印当前页)、\p cell(打印当前单元格)、\p para(打印当前段落)、\p pic(打印当前段落的下一个图片)、\p row(打印当前表格行)
 
 ADVANCE域ADVANCE域是Word中用于调整文本位置的域代码,通过指定方向和距离来移动后面的文本。
‌语法‌:{ADVANCE [Switches]}
Switches:
\d—向下移动指定的磅数;
\u—向上移动指定的磅数;
\l—向左移动指定的磅数;
\r—向右移动指定的磅数;
\x—将字段后面的文本移动到列、 框架 或文本框的左边缘指定的距离;
\y—将字段后面的文本移动到相对于页面的指定垂直位置。 将移动包含字段的整行文本。
 
 BARCODE域条形码 
域附录A
一、\# digital_pattern:指定数字结果的显示方式。digital_pattern中包含的格式项目:
1.0(零)—指定要在结果中显示的必备数值位置。 如果结果不包含该位置中的一个数字,Word 将显示 0(零)。 例如,{ = 4 + 5 \# 00.00 } 将显示“09.00”。
2.#—指定要在结果中显示的必备数值位置。 如果结果不包含该位置中的一个数字,Word 将显示一个空格。 例如,{ = 9 + 6 \# $### } 将显示“$ 15”。
3.X—舍弃“x”占位符左侧的位数。 如果占位符位于小数点的右边,Word 将结果四舍五入到该位置。 例如:{ = 111053 + 111439 \# x## } 将显示“492”。
{ = 1/8 \# 0.00x } 将显示“0.125”。{=3/4\#.x} 将显示“.8”。
4.“.”(小数点)—确定小数点位置。 例如,{ = SUM(ABOVE) \# $###.00 } 将显示“$495.47”。
5.“,”(千位分隔符)—将数字分隔为一系列三位数字。 例如,{ = Netprofit \# $#,###,### } 将显示“$2,456,800”。
6.“-”(减号)—将减号添加至负结果,或如果结果为正或 0(零)则添加一个空格。 例如,{ = 10 - 90 \# -## } 将显示“-80”。
7.“+”(加号)—将加号添加至正结果,将减号添加至负结果或结果为 0(零)时添加空格。 例如,{ = 100 - 90 \# +## } 将显示“+10”,{ = 90 - 100 \# +## }将显示“-10”。
8.“;”(分号)—用于依次分隔正数,负数和0的数字格式。 例如,根据“Sales95”书签的值,{ Sales95 \# "$#,##0.00;($#,##0.00);$0"} 将显示正、负和 0(零),如下所示:$1,245.65、($345.56)、$0
9.在结果中添加字符。 例如,{ =33 \# "##%" } 将显示“33%”。
10.'文本'—在结果中添加文本。 请将该文本加单引号。 例如,{ = {Price} *8.1% \# "$##0.00 'is sales tax' " } 将显示 "$347.44 is sales tax"。其中,Price是由书签定义的书签变量。
二、域开关\* text_format的具体格式有:
1.\*Upper使域结果全部大写;
2.\*Lower转为小写;
3.\*FirstCap仅首字母大写;
4.\*f "Times New Roman" 新罗马字体;
5.\*alphabetic 数字为阿拉伯数字;
6.\*Roman:将数字为罗马数字(如 {SEQ \*Roman} 显示为 I、II 等)
7.\*ChnNum
:将数字为中文数字(如 {SEQ \*ChnNum} 显示为 一、二 等)
8.\*Text
:强制域结果以纯文本形式显示(忽略格式继承)
三、域开关\@ Date_format:用于指定日期/时间的显示格式‌‌,具体包含的格式项目有:
1)、日期格式符号
a.yy:两位年份(如 25 表示 2025);
b.M:月份(1-12),无前导零(如 9 表示九月);
c.MM:两位数月份(如 09 表示九月);
d.MMM:月份缩写(如 Sep 表示九月);
e.d:日(1-31),无前导零(如 18 表示 18 日);
f.dd:两位数日(如 18 表示 18 日);
g.dddd:完整星期名称(如 Thursday 表示星期四);
h.ddd:星期缩写(如 Thu 表示星期四)
2)、时间格式符号
a.h:12 小时制小时(1-12),无前导零(如 11 表示上午 11 点);
b.hh:12 小时制两位数小时(如 11 表示上午 11 点);
c.H:24 小时制小时(0-23),无前导零(如 23 表示 23 点);
d.HH:24 小时制两位数小时(如 23 表示 23 点);
e.m:分钟(0-59),无前导零(如 33 表示 33 分钟);
f.mm:两位数分钟(如 33 表示 33 分钟);
g.s:秒(0-59),无前导零(如 29 表示 29 秒);
h.ss:两位数秒(如 29 表示 29 秒);
i.AM/PMam/pm:12 小时制时间标识(如 11:33 AM)
注:日期格式中可以添加其它类型符号正常显示。
例如,{ date \@ yyyy年,MM月,dddd日}显示为2025年,09月,Thursday日类型的日期值
附录B
地区设定ID:1028(中文繁体)、2058(英国)、1033(美国)、2052(简体中文)、1036(法国)、1041(日本)、1042(韩国)、1036(法国)、1031(德国)、3082(西班牙):
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值