For et par dager siden spurte en leser om det er en måte å automatisere oppretting av PowerPoint-presentasjoner fra bunnen av og deretter raskt legge til lysbilder til den eksisterende presentasjonen. Jeg trodde at skriptet kan være høyt på listen over de mest nyttige PowerPoint-makroene.
Som vi antydet tidligere, inkluderer ikke PowerPoint en makroopptaker (det er i motsetning til Excel og Word, som begge har innebygde opptakere for makro). Derfor sitter vi igjen med gode gamle Visual Basic for Application som vi kan bruke til å lage enkle makroer for å automatisere PowerPoint. Det er flere alternativer for PowerPoint-automatisering, men de går utover omfanget av denne opplæringen.
I dagens korte veiledning vil vi gå over tre forskjellige brukstilfeller:
- Oppretting av ny presentasjon (tom eller ved hjelp av en mal)
- Legg til lysbilder til en eksisterende presentasjon.
- En blanding av de to ovennevnte tilfellene (Lag fra bunnen av og tillegg til lysbilder)
La oss komme i gang.
Se på båndet. Hvis du ikke ser en utvikleroppføring i menyen, må du aktivere utviklerfanen før du starter kodingen.
Etter at du har gjort Utvikler-menyen synlig på båndet ditt, fortsett og klikk på Utvikler , og trykk deretter på Visual Basic - knappen (eller bare gå videre og trykk Alt+F11) for å åpne Visual Basic IDE.
VBA for å lage PowerPoint-presentasjoner
- I VB Editor, høyreklikk på VBAProject og trykk Sett inn .
- Velg Module .
- Lim inn følgende kode i nyopprettingsmodulen.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
- Trykk på Fil og deretter Lagre.
- For å kjøre koden din, trykk Kjør og velg Kjør Sub/User Form (eller ganske enkelt F5).
- Lukk VB-editoren.
VBA for å sette inn lysbilder
- I VB Editor, høyreklikk på VBAProject og trykk Sett inn.
- Velg Modul
- Lim inn følgende kode i nyopprettingsmodulen.
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
- Trykk på Fil og deretter Lagre.
- For å kjøre koden din, trykk Kjør og velg Kjør Sub/User Form (eller ganske enkelt F5).
- Lukk VB-editoren.
Makro for å sette opp en ny presentasjon og legge til lysbilder
Det ville bare være å blande sammen de to utdragene som er skissert 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
Deretter kan du se nærmere på veiledningen vår om å programmere former i PowerPoint med VBA
Generer en PowerPoint-presentasjon fra Excel
Siste tilfelle er at du ønsker å lage en PowerPoint-presentasjon rett fra et Excel-regneark. Du kan bruke den samme teknikken fra Word og andre Microsoft 365-applikasjoner.
- Koble regnearket til PowerPoint-datamodellen (fra Verktøy >> Referanser)
- Sett inn en knapp i Excel-regnearket (Utvikler >> Sett inn og velg deretter en kommandoknapp).
- Sett inn VBA-koden nedenfor i regnearkets VBA-prosjekt (direkte i arket eller i en VBA-modul)
- Endre skriptet etter behov.
- Kjør (trykk F5) og test utfallet.
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
Nyt 🙂
Fordeler med Excel VBA PowerPoint
- Å bruke VBA i Powerpoint gjør det enkelt å håndtere hvis en ppt-fil har så mange lysbilder med stort innhold.
- VBA med Powerpoint gir et snev av automatisering selv med begrensede funksjoner tilgjengelig.
Ulemper med Excel VBA PowerPoint
- Vi må velge Microsoft PowerPoint 15.0-objektbiblioteket fra referansealternativet i Verktøy-menyen, som vi trenger i starten av eksempel-1, hver gang vi kjører koden for PowerPoint.
Ting å huske
- Lagre filen i Macro-Enable Presentation-formatet etter å ha skrevet koden. Dette vil hjelpe oss å unngå å miste koden og bruke samme flere ganger i fremtiden.
- Omkodingsfunksjonen vil ikke fungere her da vi må hoppe fra Excel til PowerPoint for å endre grensesnittet mellom sidene.
- Kompiler alltid koden før du kjører. Dette vil hjelpe deg å finne feilen i koden. Dette er ganske nyttig når vi skriver store linjer med kode.
- For å kjøre og implementere koden må vi åpne excel-arket med diagram som vi vil lime det inn i PowerPoint-lysbildet.
- Vi kan justere diagrammet i PowerPoint etter våre behov.