众星之子上单天赋:Word域的应用和详解9

来源:百度文库 编辑:中财网 时间:2024/05/04 14:35:35

本人原创,转载请注明:http://hi.baidu.com/100bd/blog/item/a74d7111767e30efc2ce792c.html
一、Ask 对话框
▲使用方法:{ Ask BookMark "Prompt " [Switches] }
提示输入信息并指定一个书签来代表响应。必须将一个 Ref 或 BookMark 域插在 Ask 域之后,以例 Word 在此将响应打印于文档中。在其他域参数中插入书签名后,可使用您 = (Formula 域) 这样的在其他域中输入的信息。
Word 会在每次更新 Ask 域时显示提示。在输入新应答信息之前,原有信息会一直保留在书签中。如果在邮件合并主文档中使用 Ask 域,那么每次合并新记录时提示会都显示(除非使用 \o 开关)。
▲参数含义:
BookMark  分配给应答提示的书签名。比如“客户姓名”。
"Prompt " 显示在对话框中的提示文字,比如“请输入客户姓名:”。
▲开关:
\d "Default " 如不在提示对话框中键入应答信息,则指定一默认应答。例如,如不键入应答信息,那么 {Ask 打字员 "请输入打字员的姓名缩写" \d "tds"} 域将 "tds" 分配给书签“打字员”。如不指定默认应答,Word 将把最后输入的应答信息作为默认。要将默认应答指定为空白,可以在该开关后面键入空白引号(\d " ")。
\o  在邮件合并主文档使用该域时,提示只显示一次,而不是每次合并新的数据记录都显示提示。每一合并结果的文档中插入相同的响应。
▲     示例
选中下面一行,单击快捷菜单中的“更新域”,看看有什么效果:
【 】{ Ref 单价 } 显示为:123。
注意:上面一行的【 】之间隐藏有域:{ Ask 单价 "请问单价是多少?" }
要设置只在一处位置的响应,请使用 Fillin(参 47 页)域。
二、Compare 逻辑比较
参见域详解7_文档自动化中的 “Compare 逻辑比较”条目(见 42 页)。
三、DataBase 数据库查询
▲使用方法:{ DataBase [Switches ] }
在 Word 表格中插入一个数据库查询的结果。如果栏数为 32 或更大,DataBase 域将查询结果分列(用制表符分隔)插入。该域包含所有与数据库连接的必需信息,以及执行“结构查询语言”(SQL) 查询所需的信息。可以通过更新该域来再次查询该数据库。
DataBase 域可单击“数据库”工具栏上的“插入数据库”按钮来插入。
▲开关:
\b "求和" 指明由 \l 开关设置的用于表格的格式属性。如果 \l 开关为空,那么 \b 开关的值必须为 16,即“自动匹配”。可使用下列值的任意组合来指定该开关的值。该值指定0 无:
1  框;    2  底纹;    4  字体;    8  颜色;    16  自动匹配;
32  标题行;  64  末行;  128  首列;    256  末列
例如,开关“\l "3" \b "11"只使用了 \l 开关所设的表格格式的边框、底纹以及颜色属性。
\c "连接信息" 指定与数据的连接。例如,一个对 Microsoft Excel 单元格区域的查询可能包含连接参数:\c "DSN=MS Access DataBases; DBQ=C:\\Data\\Sales93.mdb; FIL=RedISAM;"。
\d "位置" 数据库的路径和文件名。用于所有数据库的查询,但对于使用 ODBC 查询 SQL 数据库表格的情况除外。在路径中需用双反斜杠。例如,“C:\\Data\\Sales94.mdb”。
\f "开始编号" 指定要插入的第一个数据记录的记录号。例如,\f"2445"。
\h  把数据库的域名作为列标题插入结果表格。
\l "格式# "   对数据库查询结果使用“表格自动套用格式”对话框(该对话框位于“表格”菜单中)中的一种格式。“格式#”数字由对话框中所选的表格格式决定。如果使用了该开关并且 \b 开关未指明表格属性,那么 Word 将插入一个无格式表格。
\s "SQL " SQL 参数。参数中每个引号标记前必须插入一个反斜杠(\)。例如,用于对 Microsoft Access 数据库的查询参数可为:"select * from \"Customer List\"".
\t "结束编号" 指定要插入的最后一个数据记录的记录号。例如,\t "2486"。
▲示例:
通过“插入”菜单中的“数据库”命令,用 ODBC 对一个 Microsoft Access 数据库进行查询,得到如下形式的域:
{ DataBase \d "C:\\Data\\Sales93.mdb" \c "DSN=MS Access DataBases; DBQ=C:\\Data\\Sales93.mdb; FIL=RedISAM" \s "select * from \"Customer List\" " \f "2445" \t "2486" \l "2" }
四、Fillin 对话框
▲使用方法:{ Fillin ["Prompt "] [Switches ] }
提示用户输入文字,用户的响应打印在域中。
在Fillin域每次更新时都显示提示。如果 Fillin 域在邮件合并主文档中,则每次合并新数据记录时显示提示(除非使用了 \o 开关)。
▲参数含义:"Prompt "  显示在对话框中的文字,例如,“请输入客户名:”。
▲开关:
\d "Default"  指定当提示对话框没有键入任何东西时的默认响应。此域 { Fillin "请输入打字员的姓名缩写:" \d "tds" } 在没有输入响应时将插入“tds”。如果不指定默认响应,则 Word 使用最后一次输入的响应。要指定空白为默认值,请在开关后键入引号,例如“\d ""”。
\o  在邮件合并过程中只提示一次,而不是每次合并新数据记录都提示。在每篇合并结果文档中都插入相同的响应。
▲     示例: 
选中下面一行,单击快捷菜单中的“更新域”,看看有什么效果:
【xqd】
注意:上面一行的【 】之间隐藏有域:{ Fillin 请输入客户名:\d "{ UserName }}
要在多处位置响应,请使用 ASK (参 46 页)域。
五、If 文字比较
参见域详解7_文档自动化中的 “If”条目(见 43 页)。
六、MergeField
▲使用方法:{ MergeField  FieldName }
在邮件合并主文档中将数据域名显示在“V”形合并字符之中,例如,。当主文档与所选数据源合并时,指定数据域的信息会插入在合并域中。
在主文档中插入合并域之前必须选择数据源。可单击“邮件合并”工具栏上的“插入合并域”按钮来插入一个合并域。
▲参数含义:FieldName   所选数据源的域名记录中所列数据域名。域名必须完全匹配域名记录中的域名。
▲示例
在域代码隐藏时,{ MergeField FirstName } 域在主文档中显示为
▲注意:
如果要更改合并域指定的域名,可编辑 MergeField 域代码中的域名。在域代码隐藏时更改域名无效。
要控制格式,先按 Alt+F9 显示出域代码,然后将开关添至合并域。例如,要将数字“34987.89”显示为“$34,987.89”,可添加数字图片开关(\#)。要以大写字母打印客户名,可添加格式开关(\*)。详细内容,请单击  。
七、MergeRec
▲使用方法:{ MergeRec }
显示《 ERGERec 》为一个域结果。在一个邮件合并主文档中使用该域可打印这样的编号,该编号对应于各个结果合并文档中合并了的数据记录。
注释    该编号反映了数据记录的顺序,这些记录是选定的并可能为与活动主文档进行合并而进行了排序的数据记录。该编号不表示记录在“物理”数据源中出现的实际顺序。例如,Microsoft Access 中的一个人事数据库可能包含数千个记录。然而,要给在本公司任职满五周年的每个职员发一封打字信件,只能选取那些有五年工龄的职员作为数据源,这是一个小得多的记录集合。要打印“物理”记录编号,必须在数据源中包括记录编号域并在主文档中插入相应的合并域。
▲示例
以下示例在 = (Formular)域中用一个 MergeRec 域来创建唯一的发票编号。当主文档与数据源合并时,来自 MergeRec 域的结果编号将添加到代表发票打印日期和时间的数字中。
发票编号: { = { PrintDate \@ "MMddyyHHmm" } + { MergeRec } }
显示为:发票编号: 21390946
八、MergeSeq
▲使用方法:{ MergeSeq }
统计域与主控文档成功合并的数据记录数。Word 在每次合并文档时,均从 1 开始给合并的记录记数。该数值可能与 MergeRec 域插入的值不同。
例如,假定只合并编号范围在 10 到 25 之间的记录。尽管 MergeRec 对应合并的第一个数据记录的数值为 10,但是 MergeSeq 域对应该数据记录的值仍为 1。
九、Next
▲使用方法:{ Next }
指示 Word 将下一个数据记录合并到当前的结果合并文档中,而不是重新开始一个新的合并文档。 Next 域不产生打印结果。Word 在用“工具”菜单中的“邮件合并”命令设置邮件标签和信封主文档时使用该域。要列出同一文档中多个数据记录的信息,例如一个成员目录或一张价目表,可在“工具”菜单的“邮件合并帮助器”对话框中选择“分类”主文档类型。而且 Next 域对在结果合并文档中打印特定数目的数据记录很有用。
在主文档中第一组合并(MergeField)域后插入一个 Next 域,否则,Word 在合并时会跳过第一个数据记录。在主文档中对合并域和 Next 域重复的次数只需为填充一页或打印所需记录需要的次数。
注释    Next 域不能用于脚注、尾注、批注、页眉、页脚或数据源中。Next 域不能嵌套在其他域里,或与 SkipIF 域联用。
▲示例
以下示例在每个结果合并文档中打印三组姓名和电话号码。
{ MergeField Name }  { MergeField PhoneNumber }
{ Next }{ MergeField Name } { MergeField PhoneNumber }
{ Next }{ MergeField Name } { MergeField PhoneNumber }
十、NextIf
▲使用方法:{ NextIF Expression1 Operator Expression2 }
比较两个表达式,如果比较结果为真,则 Word 把下一个数据记录合并到当前合并文档中。主文档中 NextIF 域后面的 Merge 域由下一个数据记录的值所代替,而不是当前的数据记录;如果比较结果为假,则 Word 将下一个记录合并到一个新的合并文档中。
当前的 Word 版本中不能使用 NextIF 域,请单击“工具”菜单中“邮件合并”命令,再单击“邮件合并帮助器”对话框中的“查询选项”按钮可更方便地选择数据记录。
▲注意:
用作表达式域的 MergeField 域指的是当前数据记录中的数据,而不是下一个数据记录。
NextIF 域不能用于脚注、尾注、批注、页眉、页脚或数据源中,也不能嵌套在其他域中。
十一、Set 添加或设置书签
▲使用方法:{ Set BookMark "Text" }
定义指定书签名表示的信息。可在宏中引用书签,或在其他域中包含该书签,如 IF 域。要打印信息,必须在文档中插入一个 Ref 域或 BookMark 域。
要手工插入书签参见注释 ⑦。
▲参数含义:
BookMark:代表信息的书签名。例如,InterestRate。
"Text"   :书签表示的信息。要把文本用引号括起来,数字不必用引号括起来。信息可为嵌套域的结果。
▲示例
选中下面两行,单击快捷菜单中的“更新域”,看看有什么效果:
【 】
 结果:新书签1000的结果
注意:上面的【 】之间隐藏有域:{Set 新书签1000  新书签1000的结果}
十二、SkipIf 合并比较
▲使用方法:{ SkipIF Expression1 Operator Expression2 }
SkipIF 比较两个值。如果比较结果为真,那么 SkipIF 取消当前合并文档,移至数据源的下一个数据记录,并启动一个新的合并文档。如果比较结果为假,那么 Word 将继续处理当前合并文档。
不要在当前的 Word 版本中使用 SkipIF 域。选择数据记录更简便的方法是在“工具”菜单中的“邮件合并帮助器”对话框中单击“查询选项”按钮。
▲注意:
在表达式中使用的合并域( MergeField 域)指示的是当前的数据记录,而不是下一个数据记录。
不能同时使用 SkipIF 和 Next 域。
▲示例
在邮件合并主文档中插入下列域,可检查当前数据记录中 Order 域的内容。如果域中的值小于 100,那么该数据记录不会合并到文档中。
{ SkipIF { MergeField Order } < 100 }