VbaProject
Contents
[
Hide
]VbaProject class
Provides access to VBA project information. A VBA project inside the document is defined as a collection of VBA modules.
To learn more, visit the Working with VBA Macros documentation article.
public class VbaProject
Constructors
| Name | Description |
|---|---|
| VbaProject() | Creates a blank VbaProject. |
Properties
| Name | Description |
|---|---|
| CodePage { get; set; } | Gets or sets the VBA project’s code page. |
| IsProtected { get; } | Shows whether the VbaProject is password protected. |
| IsSigned { get; } | Shows whether the VbaProject is signed or not. |
| Modules { get; } | Returns collection of VBA project modules. |
| Name { get; set; } | Gets or sets VBA project name. |
| References { get; } | Gets a collection of VBA project references. |
Methods
| Name | Description |
|---|---|
| Clone() | Performs a copy of the VbaProject. |
Examples
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;
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;
Assert.That(3, Is.EqualTo(vbaModules.Count()));
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.
vbaModules.Remove(vbaModules[2]);
See Also
- namespace Aspose.Words.Vba
- assembly Aspose.Words