如何使用 VBA 在 Word 2010 文档中永久存储变量?

How do I store a variable permanently in a Word 2010 document using VBA?

我知道如何使用 VBA 在 Word 2010 中使用变量。但是,当文档关闭并重新打开时,它们都会被重置。

如何在 Word 文档中永久存储变量?


这个可以用:

1
2
3
4
Sub Test()
ActiveDocument.Variables.Add Name:="PermanentVar", Value:=100
'ActiveDocument.Variables("PermanentVar").Delete
End Sub

检查是否保留:

1
2
3
Private Sub Document_Open()
Msgbox ActiveDocument.Variables("PermanentVar")
End Sub

参考 MS kb 链接

参考 SO 链接


改为使用自定义文档属性。这些永久存储在 Word 文档中,并且可以使用 VBA 进行编辑和检索。

要创建自定义属性,请转到"文件">"属性">"高级属性"(这在旧版 Word 中的位置略有不同,但仍会在某处...)。

enter

enter

1
Application.ActiveDocument.CustomDocumentProperties.Item(1).Value ="Your new value..."

Item(1) 已设置,因为这是引用文档中的第一个自定义文档属性。如果您有多个自定义属性,则需要更改数字以引用正确的属性,或编写一些 VBA 以按名称引用该属性。

要将属性传递给变量,请使用以下代码:

1
strYourVariable = Application.ActiveDocument.CustomDocumentProperties.Item(1).Value