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 中的位置略有不同,但仍会在某处...)。
从高级属性转到自定义选项卡,并填写您的自定义文档属性的名称、字段类型(您可以选择文本、日期、数字或是/否标志,这应该涵盖大多数选项) , 和一个起始值 - 您必须包含一个起始值,否则"添加"按钮将显示为灰色。单击添加。
现在您的文档中有一个自定义属性,您可以使用 VBA 来操作和引用它。
要更改属性的值,请使用以下代码:
1 | Application.ActiveDocument.CustomDocumentProperties.Item(1).Value ="Your new value..." |
Item(1) 已设置,因为这是引用文档中的第一个自定义文档属性。如果您有多个自定义属性,则需要更改数字以引用正确的属性,或编写一些 VBA 以按名称引用该属性。
要将属性传递给变量,请使用以下代码:
1 | strYourVariable = Application.ActiveDocument.CustomDocumentProperties.Item(1).Value |