VbaProject.Modules
Contents
[
Hide
]VbaProject.Modules property
Gets a collection of VbaModuleCollection
public VbaModuleCollection Modules { get; }
Examples
Shows how to iterate over VBS modules of the project.
var project = new Project(DataDir + "VbaProject.mpp");
Console.WriteLine("Total Modules Count: " + project.VbaProject.Modules.Count);
foreach (var module in project.VbaProject.Modules)
{
Console.WriteLine("Module Name: " + module.Name);
Console.WriteLine("Source Code: " + module.SourceCode);
}
Shows how to add/delete VBA macros to/from the existing VbaProject in MPP file.
var project = new Project(DataDir + "VbaProject.mpp");
var newModule = VbaModule.CreateProceduralModule("Module20");
newModule.SourceCode = @"Sub TestMacro()
#If conUnicode Then
Dim p As Project
Set p = Application.ActiveProject
MsgBox ""This is a message from a new macro. Current project: "" & p.Name
#End If
End Sub
Private Sub Project_BeforePrint(ByVal pj As Project)
End Sub";
project.VbaProject.Modules.Add(newModule);
var moduleToDelete = project.VbaProject.Modules["EventCode"];
project.VbaProject.Modules.Remove(moduleToDelete);
project.Save(OutDir + "VbaProject.AddedModule.mpp", new MPPSaveOptions() { WriteVba = true });
See Also
- class VbaModuleCollection
- class VbaProject
- namespace Aspose.Tasks
- assembly Aspose.Tasks