WORD中DocVariable使用
2019/10/22
定义 DocVariable
ALT+F11,进入 VBE 环境,通过菜单【插入】-【模块】,插入一个模块,编写如下代码:Option Explicit
Public Sub
AddDocVariables() ' delete doc variables if any
Dim doc_var As Variable
For Each doc_var In ActiveDocument.Variables
doc_var.Delete
Next
' add
new doc variables
ActiveDocument
.Variables
.Add Name
:="cname", Value
:="XXX" ' customer name'
ActiveDocument.Variables.Add Name:="csname", Value:="XXX公司" ' customer short name'
ActiveDocument.Variables.Add Name:="pname", Value:="项目" ' project name'
End Sub
代码很直观,先删除所有文档变量,然后重新定义三个文档变量:
文档中插入 DocVariable
将上面的代码运行一次(将光标放在过程中间,然后 F5),回到 Word 编辑界面,通过菜单【插入】-【文档部件】- 【域】(注:我的 Word 版是 2013)
然后找到类别为 “文档自动化” 域名为 DocVariable,选中该域,新名称中输入 cname,就是我们前面 VBA 定义的文档变量。
点击 “确定” 按钮,客户名称就插入了。
是不是感觉操作有点麻烦?Office 提供快捷键,可以非常方便插入域代码:
-
快捷键:Ctrl + F9
-
Word 文档出现一对对应的大括号 {},中间为灰色,我们在大括号中间输入 {docviarable cname},然后再按 F9 就可以了。
平时我们都用这种方法来插入域代码。对这个域代码,我们可以通过 Shift + F9 来切换显示,Word 会交替显示 {docviarable cname} 和 “XXX有限公司” 。
如果文档中有多个域代码,我们就使用 Alt + F9 来切换显示。操作就这几招。
-
Ctrl + F9: 插入域代码
-
F9: 执行域代码
-
Shift + F9: 单个域代码切换显示
-
Alt + F9: 整篇文档的域代码切换显示
-
定义 DocVariable 类型的域代码,必须使用 VBA,没有手工定义的方法
-