在VBA中,文档和子模板可以访问模板全局变量吗?

时间:2012-10-29 16:04:00

标签: vba office-2010

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

TheTemplate.VariableName

或者只能通过名称访问它们:

VariableName

1 个答案:

答案 0 :(得分:2)

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

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

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

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

MsgBox Application.Documents("appropriate document reference").Foo
' alerts "Any value"