InvisibleApp.Active プロパティ (Visio)
Application オブジェクトで表される Microsoft Visio のインスタンスが、Microsoft Windows デスクトップ上のアクティブなアプリケーション (強調表示されたタイトル バーを持つアプリケーション) であるかどうかを示します。 読み取り専用です。
構文
式。アクティブ
式InvisibleApp オブジェクトを表す変数。
戻り値
整数
注釈
Windows のデスクトップ上でアクティブになっているアプリケーションは、OLE の GetActiveObject メソッド (Microsoft Visual Basic の GetObject メソッド) の呼び出しで返される、アクティブな Visio インスタンスとは異なります。 GetObject メソッドは、最後にアクティブになった Visio のインスタンスを取得しますが、取得した時点では、このインスタンスがデスクトップ上でアクティブである場合も、アクティブでない場合もあります。 現在実行されている Visio のすべてのインスタンスのうち、1 つだけが、アクティブな Visio インスタンスになります。
たとえば、Visio の 1 つのインスタンスを起動してから、Microsoft Excel などの別のアプリケーションを起動したとします。
Visio のインスタンスがデスクトップ上のアクティブなアプリケーションである場合、 GetObject("visio.application") はそのインスタンスを取得し、その Active プロパティは True です。
Microsoft Excel のインスタンスをアクティブ化すると、 GetObject("visio.application") は Visio の同じインスタンスを取得しますが、 その Active プロパティは False です。
Application オブジェクトの Active プロパティが True になっていれば、InPlace プロパティが True でない限り、Visio の対応するインスタンスが Visio のアクティブなインスタンスであると見なすことができます。 コンテナー アプリケーションでの埋め込み先編集用に Visio のインスタンスがアクティブになっている場合は、そのインスタンス自体は、Visio のアクティブなインスタンスになるとは限りません。
例
次の Visual Basic プログラムは、Visio のアクティブなインスタンスを取得する方法を示しています。
Public Sub Active_Example()
Dim vsoApplication1 As Visio.Application
Dim vsoApplication2 As Visio.Application
'Create two new instances of Visio.
Set vsoApplication1 = CreateObject("visio.application")
Set vsoApplication2 = CreateObject("visio.application")
'Use the Active property to determine whether
'the instance of Visio is active. 'Result = False. Prints "0" in the Immediate window
Debug.Print vsoApplication1.Active
'Result = True. Prints "-1" in the Immediate window.
Debug.Print vsoApplication2.Active
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。