Document.VBProject Property (Visio)

Office 2013 and later
GitHub-Mark-64px

Contribute to this content

Use GitHub to suggest and submit changes. See our guidelines for contributing to VBA documentation.

Returns an automation object that you can use to control the Microsoft Visual Basic for Applications (VBA) project of the document. Read-only.

expression .VBProject

expression A variable that represents a Document object.

Return Value

Object

To get information about the object returned by the VBProject property, follow these steps:

To get information about the object returned by the VBProject property

  1. In the Code group on the Developer tab, click Visual Basic.

  2. In the Visual Basic Editor, on the Tools menu, click References.

  3. In the References dialog box, click Microsoft Visual Basic for Applications Extensibility 5.3, and then click OK.

  4. On the View menu, click Object Browser.

  5. In the Project/Library list, select the VBIDE type library.

  6. In the Classes list, examine the class named VBProject.

If no VBA project already exists in the document, the VBProject property creates one.

Beginning with Visio 2002, the VBProject property raises an exception if you are running in a security-enhanced environment and your system administrator has blocked access to the Visual Basic object model. There is no user interface or programmatic way to turn this on—the system administrator must turn on (or off) access by setting a Group Policy. This helps protect against viruses that spread by accessing the Visual Basic projects in commonly used templates and injecting the virus code into them.

This VBA macro shows how to print the names of libraries referenced by a VBA project in the Immediate window.

Before running this code, make sure the Trust access to the VBA project object model check box is selected under Developer Macro Settings on the Macro Settings page of the Trust Center dialog box (click the File tab, click Options, click Trust Center, and then click Trust Center Settings).

Public Sub VBProject_Example()  
 
    Dim varThisProject As Variant 
    Dim intReferences As Integer 
 
    Set varThisProject = ThisDocument.VBProject  
 
    intReferences = varThisProject.References.Count  
    While intReferences > 0  
        Debug.Print varThisProject.References(intReferences).Name  
        intReferences = intReferences - 1  
    Wend 
 
End Sub 

Show: