Word 2010 で、別のテンプレートに基づいたテンプレートを作成しています。どちらのテンプレートにも、かなりの量の VBA コードが含まれています。元のテンプレートを参照して、そのモジュールにアクセスしました。元のテンプレートのグローバル変数もこの方法でアクセスできますか? もしそうなら、それらにアクセスするためのコーディング標準はありますか?
TheTemplate.VariableName
または、名前だけでアクセスできます:
VariableName
Word 2010 で、別のテンプレートに基づいたテンプレートを作成しています。どちらのテンプレートにも、かなりの量の 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"