Share via


Application.Active Property

Visio Automation Reference

Indicates whether the instance of Microsoft Office Visio represented by the Application object is the active application on the Microsoft Windows desktop—the application that has the highlighted title bar. Read-only.

Version Information
 Version Added:  Visio 4.1

Syntax

expression.Active

expression   A variable that represents an Application object.

Return Value
Integer

Remarks

The active application on the Windows desktop is distinct from the active Visio instance, which is returned by a call to the OLE GetActiveObject function (GetObject function in Microsoft Visual Basic). The GetObject function retrieves the instance of Visio that was most recently activated, which may or may not be the active application on the desktop at that moment. Of all instances of Visio that are currently running, only one is the active Visio instance.

For example, suppose you start one instance of Visio and one of another application, such as Microsoft Excel.

  • If the instance of Visio is the active application on your desktop, GetObject(, "visio.application") retrieves that instance, and its Active property is True.
  • If you activate the instance of Microsoft Excel, GetObject(, "visio.application") retrieves the same instance of Visio, but its Active property is False.

If an Application object's Active property is True, you can assume that the corresponding instance of Visio is the active instance of Visio unless the InPlace property is also True. If an instance of Visio is activated for in-place editing in a container application, that instance may not necessarily report itself as the active instance of Visio.

Example

The following Visual Basic program shows how to get the active instance of Visio.

Visual Basic for Applications
  
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

See Also