次の方法で共有


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