VbaProject Class

Provides access to VBA project information. A VBA project inside the document is defined as a collection of VBA modules.

ExpandedInheritance Hierarchy


Namespace:  Aspose.Words.Vba
Assembly:  Aspose.Words (in Aspose.Words.dll) Version: 22.5.0


public class VbaProject

The VbaProject type exposes the following members.


Public methodCode exampleVbaProject
Creates a blank VbaProject.


Public propertyCode exampleCodePage
Returns the VBA project’s code page.
Public propertyCode exampleIsSigned
Shows whether the VbaProject is signed or not.
Public propertyCode exampleModules
Returns collection of VBA project modules.
Public propertyCode exampleName
Gets or sets VBA project name.
Public propertyReferences
Gets a collection of VBA project references.


Public methodCode exampleClone
Performs a copy of the VbaProject.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)


Shows how to access a document's VBA project information.
Document doc = new Document(MyDir + "VBA project.docm");

// A VBA project contains a collection of VBA modules.
VbaProject vbaProject = doc.VbaProject;
    ? $"Project name: {vbaProject.Name} signed; Project code page: {vbaProject.CodePage}; Modules count: {vbaProject.Modules.Count()}\n"
    : $"Project name: {vbaProject.Name} not signed; Project code page: {vbaProject.CodePage}; Modules count: {vbaProject.Modules.Count()}\n");

VbaModuleCollection vbaModules = doc.VbaProject.Modules; 

Assert.AreEqual(vbaModules.Count(), 3);

foreach (VbaModule module in vbaModules)
    Console.WriteLine($"Module name: {module.Name};\nModule code:\n{module.SourceCode}\n");

// Set new source code for VBA module. You can access VBA modules in the collection either by index or by name.
vbaModules[0].SourceCode = "Your VBA code...";
vbaModules["Module1"].SourceCode = "Your VBA code...";

// Remove a module from the collection.

ExpandedSee Also