Application.ActiveDocument プロパティ (Visio)
作業中のウィンドウに表示されるドキュメントである作業中の 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 のサポートおよびフィードバックを参照してください。