Een paar dagen geleden vroeg een lezer of er een manier is om het maken van PowerPoint-presentaties helemaal opnieuw te automatiseren en vervolgens snel dia's toe te voegen aan die bestaande presentatie. Ik dacht dat dat script hoog in de lijst met de handigste PowerPoint-macro's zou kunnen staan. 
Zoals we in het verleden hebben aangegeven, bevat PowerPoint geen macrorecorder (in tegenstelling tot Excel en Word, die beide ingebouwde recorders voor macro hebben). Daarom blijven we zitten met de goede oude Visual Basic for Application die we kunnen gebruiken om eenvoudige macro's te maken om PowerPoint te automatiseren. Er zijn nog meer alternatieven voor PowerPoint-automatisering, maar die vallen buiten het bestek van deze tutorial.
In de korte zelfstudie van vandaag bespreken we drie verschillende gebruiksscenario's:
	- Nieuwe presentatie maken (leeg of met behulp van een sjabloon)
 
	- Dia's toevoegen aan een bestaande presentatie.
 
	- Een mix van de twee bovengenoemde cases (van nul maken en toevoeging van dia's)
 
Laten we beginnen.
Kijk naar het lint. Als u het item Ontwikkelaar niet in het menu ziet, moet u het tabblad Ontwikkelaar inschakelen voordat u begint met coderen.
Nadat je het Developer-menu je lint zichtbaar hebt gemaakt, ga je gang en klik je op Developer , dan op de Visual Basic - knop (of ga je gang en druk op Alt+F11) om de Visual Basic IDE te openen.
VBA om PowerPoint-presentatie te maken
	- Klik in de VB-editor met de rechtermuisknop op VBAProject en klik op Invoegen .
 
	- Selecteer Module .
 
	- Plak de volgende code in de nieuw gemaakte module.
 
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
	- Druk op Bestand en vervolgens op Opslaan.
 
	- Om uw code uit te voeren, drukt u op Uitvoeren en kiest u vervolgens Sub-/gebruikersformulier uitvoeren (of gewoon F5).
 
	- Sluit de VB-editor.
 
VBA om dia's in te voegen
	- Klik in de VB-editor met de rechtermuisknop op VBAProject en klik op Invoegen.
 
	- Selecteer module
 
	- Plak de volgende code in de nieuw gemaakte module.
 
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
	- Druk op Bestand en vervolgens op Opslaan.
 
	- Om uw code uit te voeren, drukt u op Uitvoeren en kiest u vervolgens Sub-/gebruikersformulier uitvoeren (of gewoon F5).
 
	- Sluit de VB-editor.
 
Macro om een nieuwe presentatie in te stellen en dia's toe te voegen
Dat zou gewoon de twee hierboven geschetste fragmenten door elkaar halen.
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
Vervolgens kunt u onze tutorial bekijken over het programmatisch maken van vormen in PowerPoint met VBA
Een PowerPoint-presentatie genereren vanuit Excel
Het laatste geval is dat u rechtstreeks vanuit een Excel-spreadsheet een PowerPoint-presentatie wilt maken. U kunt dezelfde techniek gebruiken uit Word en andere Microsoft 365-toepassingen.
	- Koppel de spreadsheet aan het PowerPoint-gegevensmodel (vanuit Extra>>Verwijzingen)
 
	- Voeg een knop toe aan uw Excel-spreadsheet (Ontwikkelaar >> Invoegen en kies vervolgens een opdrachtknop).
 
	- Plaats de onderstaande VBA-code in uw Spreadsheet VBA-project (direct in het blad of in een VBA-module)
 
	- Pas het script naar wens aan.
 
	- Uitvoeren (druk op F5) en test het resultaat.
 
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
Geniet ervan
Voordelen van Excel VBA PowerPoint
	- Het gebruik van VBA in Powerpoint maakt het gemakkelijk om te werken als een ppt-bestand zoveel dia's met een enorme inhoud bevat.
 
	- VBA met Powerpoint geeft een vleugje automatisering, zelfs als er beperkte functies beschikbaar zijn.
 
Nadelen van Excel VBA PowerPoint
	- We moeten de Microsoft PowerPoint 15.0-objectbibliotheek selecteren uit de Referentie-optie in de menuoptie Gereedschap, die we nodig hebben aan het begin van voorbeeld-1, elke keer dat we de code voor PowerPoint uitvoeren.
 
Dingen om te onthouden
	- Sla het bestand op in de Macro-Enable Presentation-indeling nadat u de code hebt geschreven. Dit zal ons helpen voorkomen dat we de code kwijtraken en dezelfde code in de toekomst meerdere keren gebruiken.
 
	- De hercoderingsfunctie werkt hier niet omdat we van Excel naar PowerPoint moeten springen en de interface tussen de pagina's moeten veranderen.
 
	- Compileer de code altijd voordat u deze uitvoert. Dit zal u helpen de fout in de code te vinden. Dit is erg handig als we grote regels code schrijven.
 
	- Om de code uit te voeren en te implementeren, moeten we het Excel-blad openen met de grafiek die we in PowerPoint-dia willen plakken.
 
	- We kunnen het diagram in PowerPoint afstemmen op onze behoeften.