Makra VBA se používají k automatizaci různých funkcí v prezentacích PowerPoint. VBA můžete například používat k provádění opakujících se úloh, generování grafů a formulářů atd. V tomto článku se dozvíte, jak programově pracovat s makry PowerPoint VBA. Konkrétně se tento článek bude zabývat tím, jak přidat, extrahovat nebo odebrat makra VBA v prezentacích PowerPoint pomocí C#.
- C# API pro PowerPoint VBA makra
- Přidejte makra VBA do prezentací PowerPoint pomocí C#
- Extrahujte makra VBA z prezentací PowerPoint
- Odstraňte makra VBA z prezentací PowerPoint
- Získejte bezplatnou licenci API
C# API pro PowerPoint VBA makra
Aspose.Slides for .NET je rozhraní API bohaté na funkce, které umožňuje vytvářet, upravovat a převádět prezentace v PowerPointu pomocí jazyka C#. Kromě toho vám API umožňuje bezproblémovou práci s makry VBA. Abyste mohli API používat, můžete si buď stáhnout jeho DLL, nebo jej nainstalovat pomocí NuGet.
PM> Install-Package Aspose.Slides.NET
Přidejte makro VBA do prezentací PowerPoint pomocí C#
Následují kroky pro přidání makra VBA do prezentace PowerPoint pomocí C#.
- Nejprve vytvořte instanci třídy Presentation pro načtení prezentace PowerPoint.
- Přiřaďte novou vlastnost VbaProject k vlastnosti Presentation.VbaProject.
- Přidejte prázdný modul VBA pomocí metody Presentation.VbaProject.Modules.AddEmptyModule(string).
- Získejte odkaz na přidaný modul do objektu IVbaModule.
- Přidejte zdrojový kód do modulu VBA pomocí vlastnosti IVbaModule.SourceCode.
- Vytvořte odkazy na Microsoft Office a přidejte je do kolekce Presentation.VbaProject.References.
- Nakonec uložte soubor prezentace pomocí metody Presentation.Save(string, SaveFormat.Pptm).
Následující ukázka kódu ukazuje, jak přidat makro VBA do prezentace PowerPoint pomocí C#.
// Načíst prezentaci
using (Presentation presentation = new Presentation("presentation.pptm"))
{
// Vytvořte nový projekt VBA
presentation.VbaProject = new VbaProject();
// Přidejte prázdný modul do projektu VBA
IVbaModule module = presentation.VbaProject.Modules.AddEmptyModule("Module");
// Nastavte zdrojový kód modulu
module.SourceCode = @"Sub Test(oShape As Shape) MsgBox ""Test"" End Sub";
// Vytvořit odkaz na<stdole>
VbaReferenceOleTypeLib stdoleReference =
new VbaReferenceOleTypeLib("stdole", "*\\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\\Windows\\system32\\stdole2.tlb#OLE Automation");
// Vytvořte odkaz na 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");
// Přidejte odkazy na projekt VBA
presentation.VbaProject.References.Add(stdoleReference);
presentation.VbaProject.References.Add(officeReference);
// Uložit prezentaci
presentation.Save("AddVBAMacros.pptm", SaveFormat.Pptm);
}
Extrahujte makra VBA z PowerPointu pomocí C#
Aspose.Slides for .NET také umožňuje extrahovat moduly VBA z projektů VBA v prezentacích PowerPoint. Následují kroky k provedení této operace.
- Nejprve načtěte prezentaci PowerPoint s podporou maker pomocí třídy Presentation.
- Zkontrolujte, zda vlastnost Presentation.VbaProject není null.
- Projděte každý IVbaModule v kolekci Presentation.VbaProject.Modules.
- Nakonec extrahujte zdrojový kód pomocí vlastnosti IVbaModule.SourceCode.
Následující ukázka kódu ukazuje, jak extrahovat makra PowerPoint VBA pomocí C#.
// Načíst prezentaci
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);
}
}
}
Odstraňte makra PowerPoint VBA
Můžete také odebrat konkrétní makro VBA z prezentace PowerPoint. Za tímto účelem zpřístupníte a odeberete modul VBA podle jeho indexu z projektu VBA. Následují kroky k provedení této operace.
- Nejprve načtěte prezentaci PowerPoint s podporou maker pomocí třídy Presentation.
- Odstraňte modul VBA podle indexu pomocí metody Presentation.VbaProject.Modules.Remove(Presentation.VbaProject.Modules[0]).
- Nakonec aktualizovanou prezentaci uložte pomocí metody Presentation.Save(string, SaveFormat.Pptm).
Následující ukázka kódu ukazuje, jak odebrat makro PowerPoint VBA.
// Načíst prezentaci
using (Presentation presentation = new Presentation("Presentation.pptm"))
{
// Odeberte modul VBA
presentation.VbaProject.Modules.Remove(presentation.VbaProject.Modules[0]);
// Uložit prezentaci
presentation.Save("RemovedVBAMacros.pptm", SaveFormat.Pptm);
}
Získejte bezplatnou licenci API
Aspose.Slides for .NET můžete vyzkoušet bez omezení hodnocení, když požádáte o dočasnou licenci.
Závěr
V tomto článku jste se naučili pracovat s makry PowerPoint VBA pomocí C#. Konkrétně jste viděli, jak přidávat, extrahovat a odstraňovat makra VBA v prezentacích PowerPoint. Chcete-li prozkoumat další funkce API, můžete nahlédnout do dokumentace. Kromě toho nám můžete sdělit své dotazy prostřednictvím našeho fóra.
Viz také
Tip: Možná budete chtít vyzkoušet Aspose webová aplikace pro odstranění maker ZDARMA.