Ajout d'un module VBA
Aperçu
Dans les fichiers Microsoft Project (MPP/XML), les modules VBA vous permettent de stocker des macros qui automatisent les tâches de gestion de projet. Avec Aspose.Tasks for .NET, vous pouvez ajouter de nouveaux modules procedural ou class dans un projet VBA existant. Cette fonctionnalité est disponible à partir de la version 25.6.
Ajout d’un nouveau module VBA
L’exemple ci-dessous montre comment ajouter un nouveau module procedural et lui attribuer du code source. Avant d’exécuter ce code, assurez-vous que le projet contient déjà des modules VBA. Sinon, une exception sera levée.
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 });
Ce code crée un nouveau module VBA nommé TestModule10
avec une simple macro qui affiche une boîte de dialogue. Pour enregistrer correctement le module, vous devez activer le WriteVba
paramètre dans le MPPSaveOptions
.
Foire aux questions
Q : Puis-je ajouter des modules VBA à un projet sans projet VBA existant ?
- Non. Le fichier Microsoft Project cible doit déjà contenir un projet VBA avec au moins un module.
Q : Quels types de modules VBA puis-je ajouter ?
- Vous pouvez ajouter à la fois procedural et class modules.
Conclusion
L’ajout de modules VBA avec Aspose.Tasks for .NET offre aux développeurs des capacités d’automatisation directement dans les fichiers Microsoft Project. Cela permet d’étendre les fonctionnalités du projet avec des macros personnalisées pour des opérations répétitives ou complexes.