Les macros VBA sont utilisées pour automatiser différentes fonctionnalités dans les présentations PowerPoint. Par exemple, vous pouvez utiliser VBA pour effectuer des tâches répétitives, générer des graphiques et des formulaires, etc. Dans cet article, vous apprendrez à utiliser les macros PowerPoint VBA par programme. En particulier, l’article expliquera comment ajouter, extraire ou supprimer des macros VBA dans des présentations PowerPoint à l’aide de C#.
- API C# pour les macros PowerPoint VBA
- Ajouter des macros VBA dans des présentations PowerPoint à l’aide de C#
- Extraire des macros VBA à partir de présentations PowerPoint
- Supprimer les macros VBA des présentations PowerPoint
- Obtenez une licence API gratuite
API C# pour les macros PowerPoint VBA
Aspose.Slides for .NET est une API riche en fonctionnalités qui vous permet de créer, de modifier et de convertir des présentations PowerPoint à l’aide de C#. De plus, l’API vous permet de travailler avec des macros VBA de manière transparente. Pour utiliser l’API, vous pouvez soit télécharger sa DLL, soit l’installer à l’aide de NuGet.
PM> Install-Package Aspose.Slides.NET
Ajouter une macro VBA dans les présentations PowerPoint à l’aide de C#
Voici les étapes pour ajouter une macro VBA dans une présentation PowerPoint à l’aide de C#.
- Commencez par créer une instance de la classe Presentation pour charger la présentation PowerPoint.
- Affectez un nouveau VbaProject à la propriété Presentation.VbaProject.
- Ajoutez un module VBA vide à l’aide de la méthode Presentation.VbaProject.Modules.AddEmptyModule(string).
- Récupère la référence du module ajouté dans un objet IVbaModule.
- Ajoutez le code source au module VBA à l’aide de la propriété IVbaModule.SourceCode.
- Créez des références à Microsoft Office et ajoutez-les à la collection Presentation.VbaProject.References.
- Enfin, enregistrez le fichier de présentation à l’aide de la méthode Presentation.Save(string, SaveFormat.Pptm).
L’exemple de code suivant montre comment ajouter une macro VBA dans une présentation PowerPoint à l’aide de C#.
// Charger la présentation
using (Presentation presentation = new Presentation("presentation.pptm"))
{
// Créer un nouveau projet VBA
presentation.VbaProject = new VbaProject();
// Ajouter un module vide au projet VBA
IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
// Définir le code source du module
module.SourceCode = @"Sub Test(oShape As Shape) MsgBox ""Test"" End Sub";
// Créer une référence à<stdole>
VbaReferenceOleTypeLib stdoleReference =
new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// Créer une référence à Office
VbaReferenceOleTypeLib officeReference =
new VbaReferenceOleTypeLib("Office", "*\\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.0#0#C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\MSO.DLL#Microsoft Office 14.0 Object Library");
// Ajouter des références au projet VBA
presentation.VbaProject.References.Add(stdoleReference);
presentation.VbaProject.References.Add(officeReference);
// Enregistrer la présentation
presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}
Extraire les macros VBA de PowerPoint à l’aide de C#
Aspose.Slides for .NET vous permet également d’extraire des modules VBA à partir de projets VBA dans des présentations PowerPoint. Voici les étapes pour effectuer cette opération.
- Tout d’abord, chargez la présentation PowerPoint prenant en charge les macros à l’aide de la classe Presentation.
- Vérifiez si la propriété Presentation.VbaProject n’est pas nulle.
- Parcourez chaque IVbaModule dans la collection Presentation.VbaProject.Modules.
- Enfin, extrayez le code source à l’aide de la propriété IVbaModule.SourceCode.
L’exemple de code suivant montre comment extraire des macros PowerPoint VBA à l’aide de C#.
// Charger la présentation
using (Presentation pres = new Presentation("presentation.pptm"))
{
if (pres.VbaProject != null) // check if Presentation contains VBA Project
{
foreach (IVbaModule module in pres.VbaProject.Modules)
{
Console.WriteLine(module.Name);
Console.WriteLine(module.SourceCode);
}
}
}
Supprimer les macros PowerPoint VBA
Vous pouvez également supprimer une macro VBA particulière d’une présentation PowerPoint. Pour cela, vous accéderez et supprimerez le module VBA par son index du projet VBA. Voici les étapes pour effectuer cette opération.
- Tout d’abord, chargez la présentation PowerPoint prenant en charge les macros à l’aide de la classe Presentation.
- Supprimez le module VBA par index à l’aide de la méthode Presentation.VbaProject.Modules.Remove(Presentation.VbaProject.Modules[0]).
- Enfin, enregistrez la présentation mise à jour à l’aide de la méthode Presentation.Save(string, SaveFormat.Pptm).
L’exemple de code suivant montre comment supprimer une macro PowerPoint VBA.
// Charger la présentation
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
// Supprimer le module VBA
presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);
// Enregistrer la présentation
presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}
Obtenez une licence API gratuite
Vous pouvez essayer Aspose.Slides for .NET sans limitation d’évaluation en demandant une licence temporaire.
Conclusion
Dans cet article, vous avez appris à utiliser les macros PowerPoint VBA à l’aide de C#. En particulier, vous avez vu comment ajouter, extraire et supprimer des macros VBA dans des présentations PowerPoint. Afin d’explorer d’autres fonctionnalités de l’API, vous pouvez consulter la documentation. De plus, n’hésitez pas à nous faire part de vos questions via notre forum.
Voir également
Conseil : vous pouvez consulter Aspose application Web GRATUITE de suppression de macros.