1
我在Word 2010中編寫了一個基於另一個模板的模板,這兩個模板都包含大量的VBA代碼。我引用了原始模板來訪問其模塊。原始模板中的全局變量是否也可以通過這種方式訪問?如果是這樣,有一個編碼標準對其進行訪問,如:在VBA中,是否可以通過文檔和子模板訪問模板全局變量?
TheTemplate.VariableName
或者他們只是按名稱訪問:
VariableName
我在Word 2010中編寫了一個基於另一個模板的模板,這兩個模板都包含大量的VBA代碼。我引用了原始模板來訪問其模塊。原始模板中的全局變量是否也可以通過這種方式訪問?如果是這樣,有一個編碼標準對其進行訪問,如:在VBA中,是否可以通過文檔和子模板訪問模板全局變量?
TheTemplate.VariableName
或者他們只是按名稱訪問:
VariableName
每個模板是一個封閉的對象。全局變量模板的模塊都不會被當前加載的任何其他模板訪問或顯示。
您可以做的是將公共屬性添加到文檔對象。將它們添加到「的ThisDocument」類模塊每一個文件都有,例如一個字符串屬性是這樣的:
Public Property Get Foo() As String
Foo = "Any value"
End Property
現在你可以從任何地方訪問該屬性,因爲它會通過Document
對象進行曝光:
MsgBox Application.Documents("appropriate document reference").Foo
' alerts "Any value"
如果它們真的可見,那麼我將完全限定任何參考。你永遠不會知道未來會寫什麼函數/屬性會引起歧義。最好儘可能的明確,不要讓編譯器猜測。 – Brad