Hinzufügen eines VBA-Moduls
Übersicht
In Microsoft Project (MPP/XML)-Dateien ermöglichen VBA-Module das Speichern von Makros, die Aufgaben des Projektmanagements automatisieren. Mit Aspose.Tasks for .NETkönnen Sie neue prozedurale oder Klassenmodule in ein bestehendes VBA-Projekt einfügen. Diese Funktion ist ab Version 25.6.
Hinzufügen eines neuen VBA-Moduls
Das folgende Beispiel zeigt, wie man ein neues prozedurales Modul hinzufügt und diesem Quellcode zuweist. Bevor Sie diesen Code ausführen, stellen Sie sicher, dass das Projekt bereits VBA-Module enthält. Andernfalls wird eine Ausnahme ausgelöst.
1 Project project = new Project("FileWithVbaProject.mpp");
2
3 if (project.VbaProject.Modules.Count == 0)
4 {
5 throw new InvalidOperationException("Project should contain VBA modules");
6 }
7
8 VbaModule newModule = VbaModule.CreateProceduralModule("TestModule10");
9 newModule.SourceCode = @"Sub TestMacro()
10 MsgBox ""This is a test macro.""
11 End Sub";
12
13 project.VbaProject.Modules.Add(newModule);
14
15 // WriteVba flag should be specified in order to apply changes to MPP file.
16 project.Save("output.mpp", new MPPSaveOptions { WriteVba = true });
Dieser Code erstellt ein neues VBA-Modul mit dem Namen TestModule10
mit einem einfachen Makro, das ein Meldungsfenster anzeigt. Um das Modul korrekt zu speichern, müssen Sie die WriteVba
Option in der MPPSaveOptions
.
Häufig gestellte Fragen
F: Kann ich VBA-Module zu einem Projekt hinzufügen, ohne dass bereits ein VBA-Projekt vorhanden ist?
- Nein. Die Ziel-Microsoft Project-Datei muss bereits ein VBA-Projekt mit mindestens einem Modul enthalten.
F: Welche Arten von VBA-Modulen kann ich hinzufügen?
- Sie können sowohl prozedurale als auch Klassen module.
Fazit
Das Hinzufügen von VBA-Modulen mit Aspose.Tasks for .NET bietet Entwicklern Automatisierungsmöglichkeiten direkt in Microsoft Project-Dateien. Dadurch lässt sich die Projektfunktionalität mit benutzerdefinierten Makros für sich wiederholende oder komplexe Vorgänge erweitern.