すべての Visio ドキュメントのVisual Basic for Applications (VBA) プロジェクトには、ThisDocument というクラス モジュールがあります。 プロジェクト内のコードから参照されると、 ThisDocument オブジェクトはプロジェクトの Document オブジェクトへの参照を返します。
次のステートメントを使用して、VBA プロジェクトのドキュメントの名前をメッセージ ボックスに表示できます。
MsgBox ThisDocument.Name
次のコードを使用して、VBA プロジェクトのドキュメントの最初のページを取得できます。
Dim vsoPage As Visio.Page
Set vsoPage = ThisDocument.Pages.Item(1)
注釈
VBA プロジェクトに関連付けられた図面を操作するには、ThisDocument オブジェクトを使用します。
図面を操作するとき、VBA プロジェクトに関連付けられていない図面を対象とする場合は、Documents コレクションの Document オブジェクトを使用します。
ActiveDocument プロパティは ThisDocument オブジェクトと同じ図面への参照を返す場合がありますが、常に同じになるわけではありません。 Visio のアクティブ ウィンドウに表示される図面が、ThisDocument オブジェクトのプロジェクトを含んだ図面である場合は、ActiveDocument オブジェクトと ThisDocument オブジェクトは同じになります。 コードで ActiveDocument または ThisDocument オブジェクトを使用するかどうかは、プログラムの目的によって異なります。
注:
パブリック プロパティとメソッドをプロジェクトの ThisDocument クラス モジュールに追加すると、そのプロジェクトが持つ Document オブジェクトのプロパティとメソッドのセットを拡張できます。 新しいメソッドとプロパティは、Visio に実装されている組み込みメソッドおよびプロパティと同様に公開されます。
新しいメソッドとプロパティは、その他の Document オブジェクトを参照する場合は使用できません。 ThisDocument オブジェクトは、Visio 図面の VBA プロジェクトの一部になっていないコードでは使用できません。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。