Accessing COM Add-ins in Visio
You can access COM add-ins in Microsoft® Visio® through the COM Add-Ins dialog box, or through Automation using the COMAddIns property of a Visio Application object or the COMAddIns collection and COMAddIn object from the Microsoft Office 10.0 object library.
In this section…
Viewing a List of Available COM Add-ins
Using the COMAddIns Property to Get Information about COM Add-ins
Viewing a List of Available COM Add-ins
You can view a list of the available COM add-ins in the COM Add-Ins dialog box in Microsoft Visio (on the Tools menu, point to Macros, and then click COM Add-Ins).
You can load (connect) or unload (disconnect) an add-in by selecting the check box next to it. Loading a COM add-in loads it into memory so you can work with it. Unloading an add-in removes it from memory; you cannot use the add-in until you load it again.
Note To be able to load and run COM add-ins in Visio, you'll need to make sure that the Enable COM add-ins check box is selected on the Advanced tab in the Options dialog box (on the Tools menu, click Options).
To view the list of available COM add-ins
- On the Tools menu, point to Macros, and then click COM Add-Ins.
- To add a new COM add-in to the list, click Add.
- Clicking
- Add
- and selecting an add-in that does not appear in the list registers the add-in DLL (if it is not already registered) and adds the add-in to the list of available COM add-ins for Visio.
- To remove a COM add-in from the list, click Remove.
- As with any other COM DLL, the add-in DLL is registered as a unique object on the system.
- Additionally, information about the add-in is placed in another section of the registry to notify Visio (and other Office applications) that the add-in exists and should be used by Visio. This section is deleted when you remove an add-in from the list. The DLL itself remains registered, and if you add the add-in to the list again, the add-in's informational section is re-created in the registry.
Note You can add only DLLs that are COM add-ins to the list of available add-ins in the COM Add-Ins dialog box. Only add-ins registered for the application you are working in can be registered.
Using the COMAddIns Property to Get Information about COM Add-ins
Use the COMAddIns property of an Application object for information about all COM add-ins currently registered in Microsoft Visio.
To get information about the object returned by the COMAddIns property
- On the Tools menu, point to Macros, and then click Visual Basic Editor.
- On the View menu, click Object Browser.
- In the Project/Library list, click Office.
- If you do not see the Office type library in the
- Project/Library
- list, on the
- Tools
- menu, click
- References
- , select the
- Microsoft Office 10.0 Object Library
- check box, and then click
- OK
- .
- Under Classes, examine the class named COMAddIns.
This following macro demonstrates using the COMAddIns property to list the COM add-ins registered with Visio:
Public Sub IterateCOMAddIns() Dim myCOMAddIns As COMAddIns Dim myCOMAddIn As COMAddIn
'Get the set of COM add-ins Set myCOMAddIns = Application.COMAddIns
'List each COM add-in in the 'Immediate window For Each myCOMAddIn In myCOMAddIns Debug.Print myCOMAddIn.Description Next End Sub
In addition to retrieving and changing information about COM add-ins using the COMAddIns collection and COMAddIn object, you can use the COMAddIns collection and the COMAddIn object to load and unload COM add-ins programmatically. For details about the COMAddIn object and COMAddIns collection, see the Microsoft Office Visual Basic Reference.