InvisibleApp.ActiveDocument プロパティ (Visio)

アクティブなウィンドウに表示されるドキュメントである、アクティブな Document オブジェクトを返します。 読み取り専用です。

構文

.ActiveDocument

InvisibleApp オブジェクトを 表す 変数。

戻り値

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 つのドキュメントが開いてアクティブになります。

次の Microsoft Visual Basic for Applications (VBA) マクロは、アクティブなドキュメント (存在する場合) を取得する 2 つの安全な方法を示しています。 それぞれの場合は、[イミディエイト] ウィンドウにアクティブなドキュメントの名前を印刷します。 このコードは、Visio グローバル オブジェクトから修飾なしでアクティブなドキュメントを取得します。これは、Visio ドキュメントの VBA プロジェクトの一部である VBA コードでVisioされます。

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