Bearbeiten von VBA-Quellcode
Übersicht
Microsoft Project (MPP/XML) Dateien können VBA-Module enthalten, die Makros speichern, um projektbezogene Aufgaben zu automatisieren. Ab Version 25.6, Aspose.Tasks for .NET erlaubt nicht nur das Lesen, sondern auch das Bearbeiten des Quellcodes vorhandener VBA-Module in einem Projekt.
Dadurch ist es möglich, die Automatisierungslogik zu pflegen und zu aktualisieren, ohne auf Microsoft Project angewiesen zu sein.
Bearbeiten des Quellcodes eines bestehenden Moduls
Das folgende Beispiel zeigt, wie der Quellcode eines Moduls mit dem Namen Module1
in einem bestehenden Projekt.
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 var existingModule = project.VbaProject.Modules["Module1"];
9 existingModule.SourceCode = @"Sub Method()
10 MsgBox ""This is an updated text.""
11 End Sub";
12
13 // WriteVba flag should be specified in order to apply changes to MPP file.
14 project.Save("output.mpp", new MPPSaveOptions { WriteVba = true });
Dieses Beispiel prüft, ob das Projekt VBA-Module enthält, findet ein Modul anhand seines Namens und ersetzt dessen Quellcode. Um Änderungen anzuwenden, WriteVba
muss beim Speichern des Projekts der Schalter aktiviert sein.
Häufig gestellte Fragen
F: Kann ich mehrere Module gleichzeitig aktualisieren?
- Ja. Sie können die
VbaProject.Modules
Sammlung durchlaufen und dieSourceCode
Eigenschaft jedes Moduls aktualisieren.
F: Was passiert, wenn ich versuche, ein nicht vorhandenes Modul zu aktualisieren?
- Eine Ausnahme wird ausgelöst. Sie müssen prüfen, ob das Modul existiert, bevor Sie es bearbeiten.
F: Kann ich VBA-Quellcode in einem Projekt bearbeiten, das keine VBA-Module enthält?
- Nein. Die Ziel-Microsoft-Project-Datei muss bereits ein VBA-Projekt mit mindestens einem Modul enthalten.
F: Kann ich VBA-Module umbenennen?
- Derzeit wird nur das Aktualisieren des Quellcodes vorhandener Module und das Hinzufügen neuer Module unterstützt.
Fazit
Das Bearbeiten von VBA-Quellcode mit Aspose.Tasks for .NET bietet volle Kontrolle über Projektmakros und ermöglicht Entwicklern, benutzerdefinierte Logik in Microsoft Project-Dateien zu automatisieren, anzupassen und zu pflegen, ohne auf Microsoft Project selbst angewiesen zu sein.