アクティブな Document オブジェクト (作業中のウィンドウに表示されているドキュメント) を返します。 読み取り専用です。
構文
式。ActiveDocument
expressionApplication オブジェクトを 表す変数。
戻り値
Document
注釈
開いている図面がない場合は、アクティブな図面は存在せず、ActiveDocument プロパティは値 Nothing を返します。この場合、例外は発生しません。
コードが Visio ドキュメントの Microsoft Visual Basic プロジェクト内にある場合、 ActiveDocument プロパティは多くの場合 (必ずしもではありませんが) すべての Microsoft Visio ドキュメントの Visual Basic プロジェクトのクラス モジュールである ThisDocument オブジェクトへの参照を返します。 ThisDocument オブジェクトがアクティブなウィンドウに表示されている場合、ActiveDocument オブジェクトと ThisDocument オブジェクトは同じドキュメントを参照しています。 ThisDocument オブジェクトがプロジェクト内のコードから参照されると、プロジェクトの Document オブジェクトへの参照が返されます。
ActiveDocument オブジェクトまたは ThisDocument オブジェクトを使用するかどうかは、コードの目的によって異なります。
ActiveDocument プロパティによって返される結果を値 Nothing と比較して、図面がアクティブであるかどうかを確認できます。 Documents.Count プロパティの値が 0 より大きい場合、少なくとも 1 つのドキュメントが開いていてアクティブです。
Visual Studioソリューションには、Microsoft.Office.Interop.Visio の参照が含まれている場合、このプロパティは、次の種類にマップします。
- Microsoft.Office.Interop.Visio.IVApplication.ActiveDocument
例
次の Microsoft Visual Basic for Applications (VBA) マクロは、アクティブなドキュメントを取得する 2 つの安全な方法を示しています (存在する場合)。 いずれの場合も、アクティブなドキュメントの名前が「即時」ウィンドウに出力されます。 このコードは、Visio グローバル オブジェクトから修飾なしでアクティブなドキュメントを取得します。このオブジェクトは、Visio ドキュメントの VBA プロジェクトの一部である VBA コードで自動的に使用できます。
Public Sub ActiveDocument_Example()
Dim vsoDocument As Document
'First method
If Documents.Count > 0 Then
Set vsoDocument = ActiveDocument
Debug.Print vsoDocument.Name
Else
Debug.Print "No active document."
End If
'Second method
If Not(ActiveDocument Is Nothing) Then
Set vsoDocument = ActiveDocument
Debug.Print vsoDocument.Name
Else
Debug.Print "No active document."
End If
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。