Néhány nappal ezelőtt egy olvasó arról kérdezett, hogy van-e mód a PowerPoint-prezentációk automatikus létrehozására a semmiből, majd gyorsan hozzáadhat diákat a meglévő prezentációhoz. Úgy gondolom, hogy ez a szkript magasan szerepelhet a leghasznosabb PowerPoint makrók listáján.
Amint azt a múltban jeleztük, a PowerPoint nem tartalmaz makrórögzítőt (ellentétben az Excellel és a Word-lel, amelyekben mindkettő beépített makrórögzítővel rendelkezik). Ezért maradt a jó öreg Visual Basic for Application, amellyel egyszerű makrókat készíthetünk a PowerPoint automatizálására. Vannak további alternatívák a PowerPoint Automation számára, de ezek túlmutatnak ezen oktatóanyag keretein.
A mai rövid bemutatóban három különböző használati esetet fogunk áttekinteni:
- Új prezentáció létrehozása (üres vagy sablon használatával)
- Diák hozzáadása egy meglévő prezentációhoz.
- A fent említett két eset keveréke (Létrehozás a semmiből és diák hozzáadása)
Lássunk neki.
Nézd meg a szalagot. Ha nem látja a Fejlesztő bejegyzést a menüben, a kódolás megkezdése előtt engedélyeznie kell a fejlesztői lapot.
Miután láthatóvá tette a Fejlesztői menüt a szalagon, nyomja meg a Fejlesztő gombot , majd nyomja meg a Visual Basic gombot (vagy egyszerűen lépjen tovább, és nyomja meg az Alt+F11 billentyűt) a Visual Basic IDE megnyitásához.
VBA PowerPoint-bemutató létrehozásához
- A VB szerkesztőben kattintson jobb gombbal a VBAProject elemre, és nyomja meg a Beszúrás gombot .
- Válassza a Modul lehetőséget .
- Illessze be a következő kódot az újonnan létrehozott modulba.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
- Nyomja meg a Fájl gombot, majd a Mentés gombot.
- A kód futtatásához nyomja meg a Futtatás gombot, majd válassza az Al/Felhasználói űrlap futtatása (vagy egyszerűen az F5) lehetőséget.
- Zárja be a VB szerkesztőt.
VBA a diák beszúrásához
- A VB szerkesztőben kattintson jobb gombbal a VBAProject elemre, és nyomja meg a Beszúrás gombot.
- Válassza a Modul lehetőséget
- Illessze be a következő kódot az újonnan létrehozott modulba.
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
- Nyomja meg a Fájl gombot, majd a Mentés gombot.
- A kód futtatásához nyomja meg a Futtatás gombot, majd válassza az Al/Felhasználói űrlap futtatása (vagy egyszerűen az F5) lehetőséget.
- Zárja be a VB szerkesztőt.
Makró új prezentáció beállításához és diák hozzáadásához
Ez csak összekeverné a fent vázolt két részletet.
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
Ezután nézze meg oktatóanyagunkat az alakzatok programozott létrehozásáról a PowerPointban VBA segítségével
Hozzon létre egy PowerPoint-prezentációt Excelből
Utolsó eset az, hogy közvetlenül egy Excel-táblázatból szeretne PowerPoint-prezentációt létrehozni. Ugyanezt a technikát használhatja a Wordből és más Microsoft 365-alkalmazásokból is.
- Kapcsolja össze a táblázatot a PowerPoint adatmodellel (az Eszközök>>Hivatkozások menüpontból)
- Szúrjon be egy gombot az Excel-táblázatba (Fejlesztő >> Beszúrás, majd válasszon egy parancsgombot).
- Illessze be az alábbi VBA-kódot a Spreadsheet VBA-projektjébe (közvetlenül a munkalapba vagy egy VBA-modulba)
- Szükség szerint módosítsa a szkriptet.
- Fuss (nyomd meg az F5-öt), és teszteld az eredményt.
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
Jó szórakozást 🙂
Az Excel VBA PowerPoint előnyei
- A Powerpointban a VBA használata egyszerűvé teszi a kezelést, ha egy ppt-fájl sok diát tartalmaz hatalmas tartalommal.
- A Powerpointtal ellátott VBA még korlátozott funkciók mellett is egy kis automatizálást biztosít.
Az Excel VBA PowerPoint hátrányai
- Ki kell választanunk a Microsoft PowerPoint 15.0 Object Library az Eszköz menüben található Referencia lehetőségből, amelyre a program elején van szükségünk. példa-1, minden alkalommal, amikor futtatjuk a PowerPoint kódját.
Dolgok, amikre emlékezni kell
- A kód megírása után mentse a fájlt makró engedélyezése prezentáció formátumban. Ezzel elkerülhetjük, hogy a kódot elveszítsük, és ne használjuk többször is a jövőben.
- Az átkódolási funkció itt nem fog működni, mivel Excelről PowerPointra kell ugrani, megváltoztatva az oldalak közötti felületet.
- Mindig fordítsa le a kódot futás előtt. Ez segít megtalálni a hibát a kódban. Ez nagyon hasznos, amikor nagy kódsorokat írunk.
- A kód futtatásához és megvalósításához meg kell nyitnunk az Excel lapot a diagrammal, amelyet be akarunk illeszteni a PowerPoint diára.
- A diagramot igényeink szerint igazíthatjuk a PowerPointban.