1

我正在 Word 2010 中编写一个基于另一个模板的模板,这两个模板都包含大量的 VBA 代码。我已经引用了原始模板来访问它的模块。原始模板中的全局变量是否也可以通过这种方式访问​​?如果是这样,是否有访问它们的编码标准,例如:

TheTemplate.VariableName

或者可以通过名称访问它们:

VariableName
4

1 回答 1

2

每个模板都是一个封闭的对象。对于当前加载的任何其他模板,模板模块的任何全局变量都不可访问或可见。

您可以做的是向文档对象添加公共属性。将它们添加到每个文档都有的“ThisDocument”类模块中,例如像这样的字符串属性:

Public Property Get Foo() As String
  Foo = "Any value"
End Property

现在您可以从任何地方访问该属性,因为它将被该Document对象公开:

MsgBox Application.Documents("appropriate document reference").Foo
' alerts "Any value"
于 2012-10-29T16:17:17.323 回答