WPS技巧:"域"展风采

【WPS技巧:"域"展风采】分享给互联网技能从业者学习和参考。

什么是“域”?所谓“域”其实是一种功能代码。文档中插入:页码、日期、超级链接、目录、拼音……,就是插入了对应的:Page域、Date、Hyperlink域、Toc域、Eq域……。“域”可谓是劳苦功高而鲜为人知。

以下通过实例,为你展示这个世界级“劳模”的风采。

1.关于域的快捷键和预备知识

● 插入空域

Ctrl + F9。以该组合键插入空域,看起来象一对花括号——{ }。在其中输入域名称“Time”,例 1:{ Time },作用是显示当前系统时间。

● 在域代码和域结果之间切换

例 1 中并未如预期显示貌似“2:51:47 PM”的域结果。且定位到该域前(或内部域代码,以下操作都要先定位),按组合键“Shit + F9”,以切换显示域结果和域代码,得偿所愿。

● 更新域

“2:51:47 PM”并不总是因时而动,除非你手动更新它(按F9键),或直到其它导致域更新的事件(打印打开)发生。若需要同时更新文档中所有域,先全选,后F9。

● 锁定与解除锁定

锁定:Ctrl + F11;解除锁定:Ctrl + Shift + F11 ;是一对互逆操作。

● 避免域被更新,使用锁定域操作;欲使锁定后的域能被更新,先解除锁定;

例 1的域被锁定后,更新无效,直到解除锁定。

● 取消域的链接

Ctrl + Shift + F9。该操作将转换域为常规文本,不可逆转。粘贴自网页的内容,要取消包含的大量超级链接,先全选后转换。

并不是所有的域都支持转换。

● 域开关及其指令

即域代码中,控制最终显示结果的代码。域开关是以反斜线“”打头的多个字符,空格分隔,开关指令紧随。有通用开关和专有开关两大类。

通用开关三种:格式开关(*)、数字图片开关(#)、日期时间开关(@);

专用开关繁多,因域名称不同而异,以反斜线加一个或多个字母为标志。

例 2 合同、票据中显示人民币大写格式:

域代码:{ = 123.45 * Chinesenum4 } 域结果:壹佰贰拾叁元肆角伍分

“CHINESENUM4”为中文货币大写格式指令。

例 3 外贸出口企业订单工单用英文数字

域代码:{ = 123.45 * CardText * Caps} 域结果:One Hundred Twenty-Three

“CardText”为数字英文序数指令,“Caps”指令每单词首字母大写,一域可有多指令。

例 4 会计统计千位分符数字:

域代码:{ = 123.45*10^8 # "#,###" } 域结果:12,345,000,000

“#,###”中“#”为数字占位符“,”为千位分隔符。

例 5 灵活的日期时间开关指令:

域代码:{ Time @ "H时mm分" } 域结果:14时51分

“H时mm分”中“H”为24小时制小时数(“h”为12小时制),“mm”为两位数字表示的分钟数。

例 6 简单数学表达式,用公式域优于用公式编辑器:

域代码:{ Eq f ( -b±r(b2-4ac) , 2a) } 域结果:



Eq 域专用开关及指令:“f(分子,分母)”表分式,“r(底)”表根式。

● 域的嵌套

域代码内可以包含域。

例 7 等式域内套Time域:{ = if( { Time @ "H" }>12,"下午好!","上午好!") },未过12时显示为:上午好!,否则显示为:下午好!

通过表格菜单-公式,对话框的“粘贴函数”所罗列函数,“if()”在其中,语法为:if(判定,真,假),当“判定”成立,取“真”代表的结果,否则“假”。

2.插入有特殊要求的页码



例 8 如上图,一纸横向分4栏,各栏页码依次是:

{ ={ Page * arabic }*4-3 } { ={ Page * arabic }*4-2 } { ={ Page * arabic }*4-1 } { ={ Page * arabic }*4-0 }

“* arabic”为通用格式阿拉伯数字指令。

3.简单计算

参与运算的皆为半角符号。

例 9 域代码:{ =(1+2-3)*4/5^6 } 域结果: 0

例 10 引用已经存在的数学表达式“3.14 * 3^2 ”并求值。

先选中引号内表达式,并添加名为“CircleS”的书签,后在等式域中引用该书签:

域代码:{ ={ ref CircleS } # "园面积=#.00 (平方米)"} 域结果:园面积=28.26 (平方米)

优点是,原表达式部分改变后,求解只需更新域。

4.表内统计

表内外数据相互引用,请参考例10。

同一个表,数据引用相对简单。其方式同ET电子表格,即先以字母表示列序,继之以数字指明行号。见下表末列。



表格 1 单元格引用

Sum()为求和,内部参数为一个或以逗号分隔的多个,参数类型为常量、可计算的表达式、引用

5.仿随机数发生器与口算题

例 11 仿随机数发生器(值域0-99):

域代码:{=mod({Time @ "s"}*{Seq kgs},100) # "#"}

Seq域插入自动序列号,用“c”开关控制插入前边最近一个值{Seq kgs c},mod()求余函数。

用该代码生成口算题的数字:43+86; 18-20; 40×54; 33÷68...

注意:1)为使这些操作数看起来更像随机生成的,切忌同时更新多个域;2)为确保相减不为负值、相除值为整数,加"c"开关控制,并同时更新两个域。示意如下:

{=mod(...)*mod(...{Seq kgs}...)...} ÷ {=mod(...{Seq kgs c}...)...}=

为作业提供参考答案用:{=a1+c1}(运算数和运算符分别置于表元中)

判定学生录入是否正确用:{=if({=a1+c1}=d1,"√","×")}

6.提取身份证号码中的生日

假定某表b1单元中接受填入18位身份证号码:12345619870123956x ,在目标单元输入以下代码,可提取生日:

域代码:{ =if(b1>10^17,int(b1/10^4),int(b1/10^3)) # "x000年00月00" }

域结果:1987年01月23

“x”指令放弃占位符左边数字,“0”为数字占位符,int()为取整函数。

7.“过期”判定

例 12 判定系统日期是否超过设定(此例中为2012/12/31)

域代码:{=if(20121231>{Date @ "YYYYMMDD"},"把生命中的每一天当作最后一天过。","过期")}

8.自创字符

例 13 “问题”“提问”符号。

域代码:{ Eq o (t,门) } 域结果:

“o”指令后续符号叠加到前一符号上。

例 14 用“?”做遮罩,用空格占位。

域代码:{eq o (辉, ?, 月)} 域结果:

下划线位置为白色(背景色)“?”符号,小五号字;其余为五号字;“?”“月”前有空格调整占位。

例 15 武则天所造的“地”字

域代码:{eq o a(sup4(山),水,sdo4(土))} 域结果:

"s"上标下标开关,"up4"向上偏移4磅,"do4"向下偏移4磅。“山水土”7号字,缩放200%

例 16 配合字体提升缩放。

域代码:{ Eq o ( 辶,隹 ,??, 招) }

域结果:



为避让,使用若干五号空格占位,计:“辶”前3个,“隹”后2个, “招”前2个;

字体设置参考:“辶”华文新魏,三号,缩放190%;“隹招”华文新魏,五号,加粗,缩放66%,提升1.06毫米;“??”方正舒体,二号,缩放66%,提升1.06毫米;

段落文本基线对齐。

9.方程组

例 17 前导及域代码:{{Eq aal(2x2+y=5,3x-y=0)}结果:{

“a( , )”列二维矩阵开关,“al”左对齐修正开关。

10. 用Ref域克隆标签

一张纸,打印裁切多行多列的小标签,推荐使用“Ref”域来克隆出多个副本。

参考做法:用表格分割为多个标签区域,设计出第一个标签,选中所在单元格,并定义为书签“bk”,在其它单元格插入{ Ref bk}域。

若要求每个标签有不同的序号(电影票车票等),在打印序号位置插入文本框,并设置项目编号(表格 2)



表格 2 标签排版

11. 其它常用域

● 窗体域:通过试图菜单-工具栏-窗体,改工具栏包含多种窗体域,在设计用户填表,尤其有用;

● “Docvariable”域:引用文档命名变量,这些变量必须以编程方式赋值修改,代码如下:

● Thisdocument.Variables.Add "排版说明","本文档,未引用外部图形图像"

● 赋值后文档中该域的使用:{Docvariable 排版说明};

● “Toc”域用于创建文档目录;

●“Mergefield”域,在邮件合并中显示数据。

WPS技巧:"域"展风采