VbaModuleCollection Class

Represents a collection of VbaModule objects.
Inheritance Hierarchy
SystemObject
  Aspose.WordsVbaModuleCollection

Namespace:  Aspose.Words
Assembly:  Aspose.Words (in Aspose.Words.dll) Version: 20.2
Syntax
public sealed class VbaModuleCollection : IEnumerable<VbaModule>, 
	IEnumerable

The VbaModuleCollection type exposes the following members.

Properties
Methods
  NameDescription
Public methodCode exampleAdd
Adds a module to the collection.
Public methodEquals (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Public methodCode exampleRemove
Removes the specified module from the collection.
Public methodToString (Inherited from Object.)
Examples
Shows how to get access to VBA project information in the document.
Document doc = new Document(MyDir + "VBAProject.docm");

// A VBA project inside the document is defined as a collection of VBA modules
VbaProject vbaProject = doc.VbaProject;
Console.WriteLine(vbaProject.IsSigned
    ? $"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;
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 retrieve object by integer or by name
vbaModules[0].SourceCode = "Your VBA code...";
vbaModules["Module1"].SourceCode = "Your VBA code...";

// Remove one of VbaModule from VbaModuleCollection
vbaModules.Remove(vbaModules[2]);
See Also