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 のサポートおよびフィードバックを参照してください。