ajouter supprimer powerpoint vba C#

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

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#.

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.

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.

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.