DocVariable域可以显示通过vba添加给文档的文档变量的值。
DocVariable域的语法如下:
{ DOCVARIABLE "Name" }
其中Name属性为文档变量的名称。
在word vba中 Document对象具有Variables属性,通过该属性,可以往文档中添加任意数量的文档变量,然后就可以在word 文档中通过DocVariable域显示想要显示的变量的值。
但是Document对象的Variables集合不能具有同名的文档变量,所以一般要在添加之前,先删除所有已经存在的文档变量。
以下举例说明了,如何通过添加文档变量,在word文档中显示可以自动更新的前一天的日期:
Private Sub Document_Open()
Dim oV As Variabled
Dim oDoc As Document
Set oDoc = Word.ActiveDocument
dDate1 = VBA.Format(DateAdd("d", -1, Date), "yyyy年mm月dd日")
dDate2 = VBA.Format(DateAdd("d", -1, Date), "yyyy-mm-dd")
With oDoc
For Each oV In .Variables
oV.Delete
Next
'添加名为PreDate1,值为变量dDate1的文档变量
.Variables.Add "PreDate1", dDate1
'添加名为PreDate2,值为变量dDate2的文档变量
.Variables.Add "PreDate2", dDate2
End With
End Sub
然后在word文档中添加域代码如下:

即可显示文档变量的值。


发表评论