Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » Word VBAでThisWorkbook的なプロパティは?-MacroContainer

Word VBAでThisWorkbook的なプロパティは?-MacroContainer

動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2010 ビルド13328.20356 Microsoft Store)

「vba word this」
「word vba thiswork」
のような検索キーワードで、このサイト『インストラクターのネタ帳』へ時折アクセスがあります。

Word VBAで、Excel VBAのThisWorkbook的なプロパティを探していた方による検索でしょうか。

[スポンサードリンク]

Excel VBAではThisWorkbookを使うと、コードの書かれているブックを表すWorkbookオブジェクトを取得できます。このThisWorkbookと同じ役割のプロパティを、Word VBAで探していた方による検索かなと想像しています。

Excel VBAのThisWorkbookをプロパティと理解している方が多いと思いますが、厳密にはオブジェクトの名前であるケースがほとんどのはずです。この記事は、Excel VBAのThisWorkbookをプロパティとして書いています。

MacroContainerでコードの書かれている文書・テンプレートを取得

結論からお伝えするとWord VBAの場合、Applicationオブジェクトに用意されているMacroContainerプロパティで、

コードの書かれている文書やテンプレートを表すオブジェクトを取得できます。

Word VBAのMacroContainerプロパティは、Excel VBAのThisWorkbookプロパティと同様にグローバルメンバーですから、

「Application.」を省略していきなり「MacroContainer」とコードを書き始められます。

プロシージャの含まれる文書・テンプレートを取得するサンプル

以下のSubプロシージャを実行すると、このプロシージャの書かれている文書またはテンプレートの名前と保存先のパスが、メッセージボックスに表示されます。

Sub MacroContainerを確認する()
 MsgBox MacroContainer.Name & vbCrLf & MacroContainer.Path
End Sub

MacroContainerの戻り値はObject

Word VBAの場合、プロシージャの保存先はWord文書かテンプレートファイルです。

そのため、オブジェクトブラウザーの詳細ペイン等で確認できるとおり、MacroContainerプロパティの戻り値は「As Object」と定義されています。

Excel VBAのThisWorkbookプロパティが「As Workbook」と、必ずWorkbookオブジェクトを返すように定義されているのとは異なります。

最終更新日時:2020-11-25 17:14

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » Word VBAでThisWorkbook的なプロパティは?-MacroContainer

「Documentオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.