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
- Agregar macros de VBA en presentaciones de PowerPoint usando C#
- Extraiga macros de VBA de presentaciones de PowerPoint
- Eliminar macros VBA de presentaciones de PowerPoint
- Obtenga una licencia de API gratuita
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#.
- Primero, cree una instancia de la clase Presentation para cargar la presentación de PowerPoint.
- Asigne un nuevo VbaProject a la propiedad Presentation.VbaProject.
- Agregue un módulo VBA vacío usando el método Presentation.VbaProject.Modules.AddEmptyModule(string).
- Obtenga la referencia del módulo agregado en un objeto IVbaModule.
- Agregue el código fuente al módulo VBA usando la propiedad IVbaModule.SourceCode.
- Cree referencias a Microsoft Office y agréguelas a la colección Presentation.VbaProject.References.
- Finalmente, guarde el archivo de presentación usando el método Presentation.Save(string, SaveFormat.Pptm).
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.
- Primero, cargue la presentación de PowerPoint habilitada para macros usando la clase Presentation.
- Compruebe si la propiedad Presentation.VbaProject no es nula.
- Recorra cada IVbaModule en la colección Presentation.VbaProject.Modules.
- Finalmente, extraiga el código fuente usando la propiedad IVbaModule.SourceCode.
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.
- Primero, cargue la presentación de PowerPoint habilitada para macros usando la clase Presentation.
- Elimine el módulo VBA por índice usando el método Presentation.VbaProject.Modules.Remove(Presentation.VbaProject.Modules[0]).
- Finalmente, guarde la presentación actualizada usando el método Presentation.Save(string, SaveFormat.Pptm).
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.