Před pár dny se čtenář zeptal, že existuje způsob, jak zautomatizovat vytváření prezentací v PowerPointu od nuly a poté do stávající prezentace rychle přidat snímky. Myslím, že tento skript by mohl být vysoce v seznamu nejužitečnějších maker PowerPointu.
Jak jsme již naznačili v minulosti, PowerPoint neobsahuje záznam maker (to je na rozdíl od Excelu a Wordu, které mají oba vestavěné záznamníky pro makro). Zůstal nám tedy starý dobrý Visual Basic for Application, který můžeme použít k vytvoření jednoduchých maker pro automatizaci PowerPointu. Pro PowerPoint Automation existují další alternativy, ale ty přesahují rámec tohoto kurzu.
V dnešním krátkém tutoriálu si projdeme tři různé případy použití:
- Vytvoření nové prezentace (prázdné nebo pomocí šablony)
- Přidejte snímky do existující prezentace.
- Kombinace dvou výše uvedených případů (Vytvoření od začátku a přidání snímků)
Začněme.
Podívejte se na Stuhu. Pokud v nabídce nevidíte položku Vývojář, před zahájením kódování budete muset povolit kartu Vývojář.
Poté, co zviditelníte nabídku Vývojář na pásu karet, pokračujte a stiskněte Vývojář , poté stiskněte tlačítko Visual Basic (nebo jednoduše pokračujte a stiskněte Alt+F11) a otevřete Visual Basic IDE.
VBA pro vytvoření prezentace v PowerPointu
- V editoru VB klikněte pravým tlačítkem na VBAProject a stiskněte Vložit .
- Vyberte Modul .
- Vložte následující kód do nově vytvořeného modulu.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
- Klikněte na Soubor a poté na Uložit.
- Chcete-li spustit kód, stiskněte Spustit a poté vyberte Spustit pod/uživatelský formulář (nebo jednoduše F5).
- Zavřete editor VB.
VBA pro vkládání snímků
- V editoru VB klikněte pravým tlačítkem na VBAProject a stiskněte Vložit.
- Vyberte Modul
- Vložte následující kód do nově vytvořeného modulu.
Sub CreateSlide()
Dim NewSlide as Slide
'This statement ads a title slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
End Sub
- Klikněte na Soubor a poté na Uložit.
- Chcete-li spustit kód, stiskněte Spustit a poté vyberte Spustit pod/uživatelský formulář (nebo jednoduše F5).
- Zavřete editor VB.
Makro pro nastavení nové prezentace a přidání snímků
To by bylo jen smíchání dvou výše uvedených úryvků.
Sub CreatePres_AddSlides()
Dim NewPres as Presentation
Dim NewSlide as Slide
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
' Title Slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
'Save the new PowerPoint file
NewPres.SaveAs("MyPresentation.pptx")
End Sub
Dále se můžete podívat na náš tutoriál o programovém vytváření tvarů v PowerPointu s VBA
Vygenerujte PowerPointovou prezentaci z Excelu
Posledním případem je, že byste chtěli vytvořit powerpointovou prezentaci přímo z excelové tabulky. Stejnou techniku můžete použít z Wordu a dalších aplikací Microsoft 365.
- Propojte tabulku s datovým modelem aplikace PowerPoint (z Nástroje>>Odkazy)
- Vložte tlačítko do tabulky aplikace Excel (Vývojář >> Vložit a poté vyberte příkazové tlačítko).
- Vložte níže uvedený kód VBA do svého tabulkového VBA projektu (přímo do tabulky nebo do modulu VBA)
- Upravte skript podle potřeby.
- Spusťte (stiskněte F5) a otestujte výsledek.
Sub CreatePresentationFromExcel()
Dim MyPPt As PowerPoint.Application
Dim NewPres As PowerPoint.Presentation
Dim NewSlide As Slide
Set MyPPt = CreateObject("PowerPoint.Application")
Set NewPres = MyPPt.Presentations.Add
Set NewSlide = MyPPt.ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
NewPres.SaveAs ("MyPresentation.pptx")
NewPres.Close
MyPPt.Quit
MsgBox ("Presentation saved")
End Sub
Užijte si 🙂
Výhody Excelu VBA PowerPoint
- Použití VBA v Powerpointu usnadňuje manipulaci, pokud má soubor ppt tolik snímků s obrovským obsahem.
- VBA s Powerpointem poskytuje nádech automatizace i s omezenými dostupnými funkcemi.
Nevýhody Excelu VBA PowerPoint
- Musíme vybrat Microsoft PowerPoint 15.0 Object Library z možnosti Reference umístěné v nabídce Nástroje, kterou potřebujeme na začátku příklad-1, pokaždé, když spustíme kód pro PowerPoint.
Věci k zapamatování
- Po napsání kódu uložte soubor ve formátu Macro-Enable Presentation. To nám pomůže vyhnout se ztrátě kódu a použití stejného vícekrát v budoucnu.
- Funkce překódování zde nebude fungovat, protože potřebujeme přejít z Excelu do PowerPointu a změnit rozhraní mezi stránkami.
- Před spuštěním vždy zkompilujte kód. To vám pomůže najít chybu v kódu. To je docela užitečné, když píšeme velké řádky kódu.
- Chcete-li spustit a implementovat kód, musíme otevřít list aplikace Excel s grafem, který chceme vložit do snímku aplikace PowerPoint.
- Můžeme zarovnat graf v PowerPointu podle našich potřeb.