Modification du code source VBA
Aperçu
Les fichiers Microsoft Project (MPP/XML) peuvent contenir des modules VBA qui stockent des macros pour automatiser les tâches liées au projet. À partir de la version 25.6, Aspose.Tasks for .NET permet non seulement la lecture mais aussi la modification du code source des modules VBA existants dans un projet.
Cela permet de maintenir et de mettre à jour la logique d’automatisation sans dépendre de Microsoft Project.
Modification du code source d’un module existant
L’exemple suivant montre comment modifier le code source d’un module nommé Module1
dans un projet existant.
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 });
Cet exemple vérifie si le projet contient des modules VBA, trouve un module par son nom et remplace son code source. Pour appliquer les modifications, le WriteVba
le flag doit être activé lors de l’enregistrement du projet.
Foire aux questions
Q : Puis-je mettre à jour plusieurs modules à la fois ?
- Oui. Vous pouvez parcourir la
VbaProject.Modules
collection et mettre à jour laSourceCode
property.
Q : Que se passe-t-il si j’essaie de mettre à jour un module inexistant ?
- Une exception sera levée. Vous devez vérifier que le module existe avant de le modifier.
Q : Puis-je modifier le code source VBA dans un projet sans modules VBA ?
- Non. Le fichier Microsoft Project cible doit déjà contenir un projet VBA avec au moins un module.
Q : Puis-je renommer des modules VBA ?
- Actuellement, seules la mise à jour du code source des modules existants et l’ajout de nouveaux modules sont pris en charge.
Conclusion
La modification du code source VBA avec Aspose.Tasks for .NET offre un contrôle total sur les macros du projet, permettant aux développeurs d’automatiser, d’ajuster et de maintenir une logique personnalisée à l’intérieur des fichiers Microsoft Project sans dépendre de Microsoft Project lui-même.