VBA-makron används för att automatisera olika funktioner i PowerPoint-presentationer. Du kan till exempel använda VBA för att utföra repetitiva uppgifter, generera diagram och formulär etc. I den här artikeln kommer du att lära dig hur du arbetar med PowerPoint VBA-makron programmatiskt. Speciellt kommer artikeln att täcka hur man lägger till, extraherar eller tar bort VBA-makron i PowerPoint-presentationer med C#.
- C# API för PowerPoint VBA-makron
- Lägg till VBA-makron i PowerPoint-presentationer med C#
- Extrahera VBA-makron från PowerPoint-presentationer
- Ta bort VBA-makron från PowerPoint-presentationer
- Skaffa en gratis API-licens
C# API för PowerPoint VBA-makron
Aspose.Slides för .NET är ett funktionsrikt API som låter dig skapa, redigera och konvertera PowerPoint-presentationer med C#. Dessutom låter API:et dig arbeta med VBA-makron sömlöst. För att använda API:t kan du antingen ladda ner dess DLL eller installera den med NuGet.
PM> Install-Package Aspose.Slides.NET
Lägg till VBA-makro i PowerPoint-presentationer med C#
Följande är stegen för att lägga till ett VBA-makro i en PowerPoint-presentation med C#.
- Skapa först en instans av klassen Presentation för att ladda PowerPoint-presentationen.
- Tilldela en ny VbaProject egenskap till Presentation.VbaProject.
- Lägg till en tom VBA-modul med metoden Presentation.VbaProject.Modules.AddEmptyModule(string).
- Hämta referensen för den tillagda modulen till ett IVbaModule-objekt.
- Lägg till källkod till VBA-modulen med egenskapen IVbaModule.SourceCode.
- Skapa referenser till Microsoft Office och lägg till dem i samlingen Presentation.VbaProject.References.
- Slutligen sparar du presentationsfilen med metoden Presentation.Save(string, SaveFormat.Pptm).
Följande kodexempel visar hur man lägger till VBA-makro i en PowerPoint-presentation med C#.
// Ladda presentationen
using (Presentation presentation = new Presentation("presentation.pptm"))
{
// Skapa nytt VBA-projekt
presentation.VbaProject = new VbaProject();
// Lägg till tom modul till VBA-projektet
IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
// Ställ in modulens källkod
module.SourceCode = @"Sub Test(oShape As Shape) MsgBox ""Test"" End Sub";
// Skapa referens till<stdole>
VbaReferenceOleTypeLib stdoleReference =
new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// Skapa referens till 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");
// Lägg till referenser till VBA-projektet
presentation.VbaProject.References.Add(stdoleReference);
presentation.VbaProject.References.Add(officeReference);
// Spara presentation
presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}
Extrahera VBA-makron från PowerPoint med C#
Aspose.Slides för .NET låter dig också extrahera VBA-moduler från VBA-projekt i PowerPoint-presentationer. Följande är stegen för att utföra denna operation.
- Ladda först den makroaktiverade PowerPoint-presentationen med klassen Presentation.
- Kontrollera om egenskapen Presentation.VbaProject inte är null.
- Gå igenom varje IVbaModule i Presentation.VbaProject.Modules samling.
- Extrahera slutligen källkoden med egenskapen IVbaModule.SourceCode.
Följande kodexempel visar hur man extraherar PowerPoint VBA-makron med C#.
// Ladda presentationen
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);
}
}
}
Ta bort PowerPoint VBA-makron
Du kan också ta bort ett visst VBA-makro från en PowerPoint-presentation. För detta kommer du att komma åt och ta bort VBA-modulen genom dess index från VBA-projektet. Följande är stegen för att utföra denna operation.
- Ladda först den makroaktiverade PowerPoint-presentationen med klassen Presentation.
- Ta bort VBA-modulen genom att indexera med metoden Presentation.VbaProject.Modules.Remove(Presentation.VbaProject.Modules[0]).
- Slutligen, spara den uppdaterade presentationen med metoden Presentation.Save(string, SaveFormat.Pptm).
Följande kodexempel visar hur du tar bort ett PowerPoint VBA-makro.
// Ladda presentationen
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
// Ta bort VBA-modulen
presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);
// Spara presentationen
presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}
Skaffa en gratis API-licens
Du kan prova Aspose.Slides för .NET utan utvärderingsbegränsningar genom att begära en tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du arbetar med PowerPoint VBA-makron med C#. Speciellt har du sett hur man lägger till, extraherar och tar bort VBA-makron i PowerPoint-presentationer. För att utforska andra funktioner i API:t kan du konsultera dokumentationen. Dessutom kan du gärna meddela oss om dina frågor via vårt forum.
Se även
Tips: Du kanske vill kolla in Aspose FREE macro removal web app.