Die VBA Makros werden verwendet, um verschiedene Funktionalitäten in PowerPoint Präsentationen zu automatisieren. Beispielsweise können Sie VBA verwenden, um sich wiederholende Aufgaben auszuführen, Diagramme und Formulare zu erstellen usw. In diesem Artikel erfahren Sie, wie Sie programmgesteuert mit PowerPoint-VBA Makros arbeiten. Insbesondere behandelt der Artikel das Hinzufügen, Extrahieren oder Entfernen von VBA Makros in PowerPoint Präsentationen mit C#.
- C# API für PowerPoint-VBA Makros
- Hinzufügen von VBA Makros in PowerPoint Präsentationen mit C#
- Extrahieren Sie VBA Makros aus PowerPoint Präsentationen
- Entfernen Sie VBA Makros aus PowerPoint Präsentationen
- Holen Sie sich eine kostenlose API Lizenz
C# API für PowerPoint-VBA Makros
Aspose.Slides for .NET ist eine funktionsreiche API, mit der Sie PowerPoint Präsentationen mit C# erstellen, bearbeiten und konvertieren können. Darüber hinaus ermöglicht Ihnen die API, nahtlos mit VBA Makros zu arbeiten. Um die API zu verwenden, können Sie entweder ihre DLL herunterladen oder sie mit NuGet installieren.
PM> Install-Package Aspose.Slides.NET
Hinzufügen von VBA Makros in PowerPoint Präsentationen mit C#
Im Folgenden sind die Schritte zum Hinzufügen eines VBA Makros in einer PowerPoint Präsentation mit C# aufgeführt.
- Erstellen Sie zunächst eine Instanz der Klasse Presentation, um die PowerPoint Präsentation zu laden.
- Weisen Sie der Eigenschaft Presentation.VbaProject ein neues VbaProject zu.
- Fügen Sie ein leeres VBA-Modul mit der methode Presentation.VbaProject.Modules.AddEmptyModule(string) hinzu.
- Holen Sie sich die Referenz des hinzugefügten Moduls in ein IVbaModule objekt.
- Fügen Sie dem VBA-Modul mithilfe der Eigenschaft IVbaModule.SourceCode Quellcode hinzu.
- Erstellen Sie Verweise auf Microsoft Office und fügen Sie sie der Sammlung Presentation.VbaProject.References hinzu.
- Speichern Sie abschließend die Präsentationsdatei mit der methode Presentation.Save(string, SaveFormat.Pptm).
Das folgende Codebeispiel zeigt, wie Sie VBA Makros in einer PowerPoint Präsentation mit C# hinzufügen.
// Präsentation laden
using (Presentation presentation = new Presentation("presentation.pptm"))
{
// Erstellen Sie ein neues VBA Projekt
presentation.VbaProject = new VbaProject();
// Fügen Sie dem VBA Projekt ein leeres Modul hinzu
IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
// Legen Sie den Quellcode des Moduls fest
module.SourceCode = @"Sub Test(oShape As Shape) MsgBox ""Test"" End Sub";
// Verweis erstellen auf<stdole>
VbaReferenceOleTypeLib stdoleReference =
new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// Verweis auf Office erstellen
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");
// Fügen Sie dem VBA Projekt Verweise hinzu
presentation.VbaProject.References.Add(stdoleReference);
presentation.VbaProject.References.Add(officeReference);
// Präsentation speichern
presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}
Extrahieren Sie VBA Makros aus PowerPoint mit C#
Mit Aspose.Slides for .NET können Sie auch VBA-Module aus VBA Projekten in PowerPoint Präsentationen extrahieren. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.
- Laden Sie zunächst die makrofähige PowerPoint Präsentation mithilfe der Klasse Presentation.
- Überprüfen Sie, ob die Eigenschaft Presentation.VbaProject nicht null ist.
- Durchlaufen Sie jedes IVbaModule in der Sammlung Presentation.VbaProject.Modules.
- Extrahieren Sie schließlich den Quellcode mit der Eigenschaft IVbaModule.SourceCode.
Das folgende Codebeispiel zeigt, wie Sie PowerPoint-VBA Makros mit C# extrahieren.
// Präsentation laden
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);
}
}
}
Entfernen Sie PowerPoint-VBA Makros
Sie können auch ein bestimmtes VBA Makro aus einer PowerPoint Präsentation entfernen. Dazu greifen Sie auf das VBA-Modul zu und entfernen es über seinen Index aus dem VBA Projekt. Im Folgenden sind die Schritte zum Ausführen dieses Vorgangs aufgeführt.
- Laden Sie zunächst die makrofähige PowerPoint Präsentation mithilfe der Klasse Presentation.
- Entfernen Sie das VBA-Modul nach Index mit der methode Presentation.VbaProject.Modules.Remove(Presentation.VbaProject.Modules[0]).
- Speichern Sie abschließend die aktualisierte Präsentation mit der methode Presentation.Save(string, SaveFormat.Pptm).
Das folgende Codebeispiel zeigt, wie ein PowerPoint-VBA Makro entfernt wird.
// Präsentation laden
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
// Entfernen Sie das VBA-Modul
presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);
// Präsentation speichern
presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}
Holen Sie sich eine kostenlose API Lizenz
Sie können Aspose.Slides for .NET ohne Evaluierungseinschränkungen testen, indem Sie eine temporäre Lizenz anfordern.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie mithilfe von C# mit PowerPoint-VBA Makros arbeiten. Insbesondere haben Sie gesehen, wie Sie VBA Makros in PowerPoint Präsentationen hinzufügen, extrahieren und entfernen. Um andere Funktionen der API zu erkunden, können Sie die Dokumentation konsultieren. Darüber hinaus können Sie uns Ihre Fragen gerne über unser Forum mitteilen.
Siehe auch
Tipp: Vielleicht möchten Sie Aspose KOSTENLOSE Web-App zum Entfernen von Makros ausprobieren.