agregar eliminar powerpoint vba C#

Las macros de VBA se utilizan para automatizar diferentes funcionalidades en las presentaciones de PowerPoint. Por ejemplo, puede usar VBA para realizar tareas repetitivas, generar gráficos y formularios, etc. En este artículo, aprenderá a trabajar con macros de PowerPoint VBA mediante programación. En particular, el artículo cubrirá cómo agregar, extraer o eliminar macros de VBA en presentaciones de PowerPoint usando C#.

API de C# para macros VBA de PowerPoint

Aspose.Slides for .NET es una API rica en funciones que le permite crear, editar y convertir presentaciones de PowerPoint usando C#. Además, la API le permite trabajar con macros de VBA sin problemas. Para usar la API, puede descargar su DLL o instalarla usando NuGet.

PM> Install-Package Aspose.Slides.NET

Agregar macro VBA en presentaciones de PowerPoint usando C#

Los siguientes son los pasos para agregar una macro de VBA en una presentación de PowerPoint usando C#.

El siguiente ejemplo de código muestra cómo agregar una macro de VBA en una presentación de PowerPoint usando C#.

// Cargar presentación
using (Presentation presentation = new Presentation("presentation.pptm"))
{
    // Crear nuevo proyecto VBA
    presentation.VbaProject = new VbaProject();

    // Agregar módulo vacío al proyecto VBA
    IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
  
    // Establecer el código fuente del módulo
    module.SourceCode = @"Sub Test(oShape As Shape) MsgBox ""Test"" End Sub";

    // Crear referencia a<stdole>
    VbaReferenceOleTypeLib stdoleReference =
        new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");

    // Crear referencia a 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");

    // Agregar referencias al proyecto VBA
    presentation.VbaProject.References.Add(stdoleReference);
    presentation.VbaProject.References.Add(officeReference);
    
    // Guardar presentación
    presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}

Extraiga macros VBA de PowerPoint usando C#

Aspose.Slides for .NET también le permite extraer módulos VBA de proyectos VBA en presentaciones de PowerPoint. Los siguientes son los pasos para realizar esta operación.

El siguiente ejemplo de código muestra cómo extraer macros de PowerPoint VBA usando C#.

// Cargar presentación
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);
		}
	}
}

Eliminar macros de PowerPoint VBA

También puede eliminar una macro de VBA en particular de una presentación de PowerPoint. Para esto, accederá y eliminará el módulo VBA por su índice del proyecto VBA. Los siguientes son los pasos para realizar esta operación.

El siguiente ejemplo de código muestra cómo eliminar una macro VBA de PowerPoint.

// Cargar presentación
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
    // Retire el módulo VBA
    presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);

    // Guardar presentación
    presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}

Obtenga una licencia de API gratuita

Puede probar Aspose.Slides for .NET sin limitaciones de evaluación solicitando una licencia temporal.

Conclusión

En este artículo, aprendió a trabajar con macros de PowerPoint VBA usando C#. En particular, ha visto cómo agregar, extraer y eliminar macros de VBA en presentaciones de PowerPoint. Para explorar otras características de la API, puede consultar la documentación. Además, no dude en comunicarnos sus consultas a través de nuestro foro.

Ver también

Sugerencia: es posible que desee consultar Aspose aplicación web de eliminación de macros GRATUITA.