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)
word_doc_variable_01.jpg
然后找到类别为 “文档自动化” 域名为 DocVariable,选中该域,新名称中输入 cname,就是我们前面 VBA 定义的文档变量。
word_doc_variable_02.jpg
点击 “确定” 按钮,客户名称就插入了。
是不是感觉操作有点麻烦?Office 提供快捷键,可以非常方便插入域代码:
- 快捷键:Ctrl + F9
- Word 文档出现一对对应的大括号 {},中间为灰色,我们在大括号中间输入 {docviarable cname},然后再按 F9 就可以了。
平时我们都用这种方法来插入域代码。对这个域代码,我们可以通过 Shift + F9 来切换显示,Word 会交替显示 {docviarable cname} 和 “XXX有限公司” 。
如果文档中有多个域代码,我们就使用 Alt + F9 来切换显示。操作就这几招。
- Ctrl + F9: 插入域代码
- F9: 执行域代码
- Shift + F9: 单个域代码切换显示
- Alt + F9: 整篇文档的域代码切换显示
- 定义 DocVariable 类型的域代码,必须使用 VBA,没有手工定义的方法