Working with VBA Macros

Visual Basic for Applications (VBA) for Microsoft Word is a simple but powerful programming language that can be used to extend the functionality. Aspose.Words API provides three classes to get access to the VBA project source code:

  • The VBAProject class provides access to VBA project information
  • The VBAModuleCollection class returns the collection of VBA project modules
  • The VbaModule class provides access to the VBA project module
  • The VbaModuleType enumeration defines the types of a model in a VBA project. The module can be a procedural module, document module, class module, or designer module

Create a VBA Project

Aspose.Words API provides the VbaProject property to get or set VbaProject in the document.

The following code example demonstrates how to create a VBA project and VBA Module along with basic properties e.g. Name and Type:

Read Macros

Aspose.Words also provides users with the ability to read VBA macros.

The following code example shows how to read VBA Macros from the document:

Write or Modify Macros

Using Aspose.Words, users can modify VBA macros.

The following code example shows how to modify VBA Macros using the SourceCode property:

Clone VBA Project

With Aspose.Words it is also possible to clone VBA projects.

The following code example shows how to clone the VBA Project using the Clone property which creates a copy of the existing project:

Clone VBA Module

You can also clone VBA modules if needed.

The following code example shows how to clone the VBA Module using the Clone property which creates a copy of the existing project:

Work with the VBA Project References

Aspose.Words API provides the VbaReferenceCollection class to work with VBA Project References representing a collection of VBA project references.

The following code example shows how to remove some references from the collection of references from a VBA project: