Makra VBA służą do automatyzacji różnych funkcji w prezentacjach PowerPoint. Na przykład możesz używać VBA do wykonywania powtarzalnych zadań, generowania wykresów i formularzy itp. W tym artykule dowiesz się, jak programowo pracować z makrami PowerPoint VBA. W szczególności artykuł będzie dotyczył dodawania, wyodrębniania lub usuwania makr VBA w prezentacjach PowerPoint przy użyciu języka C#.
- C# API dla makr PowerPoint VBA
- Dodaj makra VBA w prezentacjach PowerPoint przy użyciu C#
- Wyodrębnij makra VBA z prezentacji PowerPoint
- Usuń makra VBA z prezentacji PowerPoint
- Uzyskaj bezpłatną licencję API
C# API dla makr PowerPoint VBA
Aspose.Slides for .NET to bogaty w funkcje interfejs API, który umożliwia tworzenie, edytowanie i konwertowanie prezentacji programu PowerPoint przy użyciu języka C#. Ponadto interfejs API umożliwia bezproblemową pracę z makrami VBA. Aby korzystać z API, możesz pobrać jego bibliotekę DLL lub zainstalować ją za pomocą NuGet.
PM> Install-Package Aspose.Slides.NET
Dodaj makro VBA w prezentacjach PowerPoint przy użyciu C#
Poniżej przedstawiono kroki dodawania makra VBA do prezentacji programu PowerPoint przy użyciu języka C#.
- Najpierw utwórz instancję klasy Presentation, aby załadować prezentację programu PowerPoint.
- Przypisz nową właściwość VbaProject do właściwości Presentation.VbaProject.
- Dodaj pusty moduł VBA za pomocą metody Presentation.VbaProject.Modules.AddEmptyModule(string).
- Pobierz referencję dodanego modułu do obiektu IVbaModule.
- Dodaj kod źródłowy do modułu VBA za pomocą właściwości IVbaModule.SourceCode.
- Utwórz referencje do Microsoft Office i dodaj je do kolekcji Presentation.VbaProject.References.
- Na koniec zapisz plik prezentacji przy użyciu metody Presentation.Save(string, SaveFormat.Pptm).
Poniższy przykładowy kod pokazuje, jak dodać makro języka VBA do prezentacji programu PowerPoint przy użyciu języka C#.
// Załaduj prezentację
using (Presentation presentation = new Presentation("presentation.pptm"))
{
// Utwórz nowy projekt VBA
presentation.VbaProject = new VbaProject();
// Dodaj pusty moduł do projektu VBA
IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
// Ustaw kod źródłowy modułu
module.SourceCode = @"Sub Test(oShape As Shape) MsgBox ""Test"" End Sub";
// Utwórz odniesienie do<stdole>
VbaReferenceOleTypeLib stdoleReference =
new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// Utwórz odwołanie do pakietu 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");
// Dodaj odwołania do projektu VBA
presentation.VbaProject.References.Add(stdoleReference);
presentation.VbaProject.References.Add(officeReference);
// Zapisz prezentację
presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}
Wyodrębnij makra VBA z programu PowerPoint przy użyciu języka C#
Aspose.Slides for .NET umożliwia także wyodrębnianie modułów VBA z projektów VBA w prezentacjach PowerPoint. Poniżej przedstawiono kroki, aby wykonać tę operację.
- Najpierw załaduj prezentację PowerPoint z obsługą makr, używając klasy Presentation.
- Sprawdź, czy właściwość Presentation.VbaProject nie jest pusta.
- Przejdź przez każdy IVbaModule w kolekcji Presentation.VbaProject.Modules.
- Na koniec wyodrębnij kod źródłowy za pomocą właściwości IVbaModule.SourceCode.
Poniższy przykładowy kod pokazuje, jak wyodrębnić makra programu PowerPoint VBA przy użyciu języka C#.
// Załaduj prezentację
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);
}
}
}
Usuń makra PowerPoint VBA
Możesz także usunąć określone makro VBA z prezentacji programu PowerPoint. W tym celu uzyskasz dostęp do modułu VBA i usuniesz go za pomocą jego indeksu z projektu VBA. Poniżej przedstawiono kroki, aby wykonać tę operację.
- Najpierw załaduj prezentację programu PowerPoint z obsługą makr, używając klasy Presentation.
- Usuń moduł VBA według indeksu za pomocą metody Presentation.VbaProject.Modules.Remove(Presentation.VbaProject.Modules[0]).
- Na koniec zapisz zaktualizowaną prezentację przy użyciu metody Presentation.Save(string, SaveFormat.Pptm).
Poniższy przykładowy kod pokazuje, jak usunąć makro programu PowerPoint VBA.
// Załaduj prezentację
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
// Usuń moduł VBA
presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);
// Zapisz prezentację
presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}
Uzyskaj bezpłatną licencję API
Możesz wypróbować Aspose.Slides for .NET bez ograniczeń ewaluacyjnych, prosząc o licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się pracować z makrami programu PowerPoint VBA przy użyciu języka C#. W szczególności widziałeś, jak dodawać, wyodrębniać i usuwać makra VBA w prezentacjach PowerPoint. Aby zapoznać się z innymi funkcjami API, możesz zapoznać się z dokumentacją. Ponadto możesz swobodnie informować nas o swoich zapytaniach za pośrednictwem naszego forum.
Zobacz też
Wskazówka: możesz sprawdzić Aspose BEZPŁATNA aplikacja internetowa do usuwania makr.