For et par dage siden spurgte en læser om, at der er en måde at automatisere oprettelsen af PowerPoint-præsentationer fra bunden og derefter hurtigt tilføje dias til den eksisterende præsentation. Jeg mente, at det script måske er højt på listen over de mest nyttige PowerPoint-makroer.
Som vi tidligere har angivet, inkluderer PowerPoint ikke en makrooptager (det er i modsætning til Excel og Word, som begge har indbyggede optagere til makro). Derfor står vi tilbage med gode gamle Visual Basic for Application, som vi kan bruge til at lave simple makroer til at automatisere PowerPoint. Der er yderligere alternativer til PowerPoint Automation, men de går ud over denne tutorials omfang.
I dagens korte selvstudie vil vi gennemgå tre forskellige brugssager:
- Ny præsentationsoprettelse (tom eller ved hjælp af en skabelon)
- Føj dias til en eksisterende præsentation.
- En blanding af de to ovennævnte sager (Opret fra bunden og tilføjelse af dias)
Lad os komme igang.
Se på båndet. Hvis du ikke kan se en Udvikler-indgang i menuen, før du starter din kodning, skal du aktivere udviklerfanen.
Når du har gjort Udviklermenuen synlig på dit bånd, skal du gå videre og trykke på Udvikler og derefter trykke på Visual Basic- knappen (eller blot gå videre og trykke på Alt+F11) for at åbne Visual Basic IDE.
VBA til oprettelse af PowerPoint-præsentation
- I VB Editor skal du højreklikke på VBAProject og trykke på Indsæt .
- Vælg modul .
- Indsæt følgende kode i det nyoprettede modul.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
- Tryk på Fil og derefter Gem.
- For at køre din kode skal du trykke på Kør og derefter vælge Kør under-/brugerformular (eller blot F5).
- Luk VB-editoren.
VBA for at indsætte dias
- I VB Editor skal du højreklikke på VBAProject og trykke på Indsæt.
- Vælg Modul
- Indsæt følgende kode i det nyoprettede modul.
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
- Tryk på Fil og derefter Gem.
- For at køre din kode skal du trykke på Kør og derefter vælge Kør under-/brugerformular (eller blot F5).
- Luk VB-editoren.
Makro for at opsætte en ny præsentation og tilføje dias
Det ville bare være at blande de to uddrag, der er skitseret ovenfor.
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
Dernæst kan du se på vores tutorial om programmatisk at skabe figurer i PowerPoint med VBA
Generer en PowerPoint-præsentation fra Excel
Sidste tilfælde er, at du gerne vil lave en PowerPoint-præsentation direkte fra et Excel-regneark. Du kan anvende den samme teknik fra Word og andre Microsoft 365-applikationer.
- Link regnearket til PowerPoint-datamodellen (fra Værktøjer >> Referencer)
- Indsæt en knap i dit Excel-regneark (Udvikler >> Indsæt, og vælg derefter en kommandoknap).
- Indsæt VBA-koden nedenfor i dit regneark VBA-projekt (direkte i arket eller i et VBA-modul)
- Rediger scriptet efter behov.
- Kør (tryk F5) og test resultatet.
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
God fornøjelse 🙂
Fordele ved Excel VBA PowerPoint
- Brug af VBA i Powerpoint gør det nemt at håndtere, hvis en ppt-fil har så mange slides med stort indhold.
- VBA med Powerpoint giver et strejf af automatisering selv med begrænsede funktioner tilgængelige.
Ulemper ved Excel VBA PowerPoint
- Vi skal vælge Microsoft PowerPoint 15.0-objektbiblioteket fra Reference-indstillingen i menupunktet Værktøj, som vi skal bruge i starten af eksempel-1, hver gang vi kører koden til PowerPoint.
Ting at huske
- Gem filen i Macro-Enable Presentation-formatet, når du har skrevet koden. Dette vil hjælpe os med at undgå at miste koden og bruge den samme flere gange i fremtiden.
- Omkodningsfunktionen fungerer ikke her, da vi skal hoppe fra Excel til PowerPoint for at ændre grænsefladen mellem siderne.
- Kompilér altid koden, før du kører. Dette vil hjælpe dig med at finde fejlen i koden. Dette er ret nyttigt, når vi skriver store linjer kode.
- For at køre og implementere koden skal vi åbne excel-arket med diagram, som vi vil indsætte det i PowerPoint-dias.
- Vi kan justere diagrammet i PowerPoint efter vores behov.