Hoe dias maken en toevoegen aan PowerPoint-presentaties met VBA?

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:

  1. Nieuwe presentatie maken (leeg of met behulp van een sjabloon)
  2. Dia's toevoegen aan een bestaande presentatie.
  3. 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

  1. Klik in de VB-editor met de rechtermuisknop op VBAProject en klik op Invoegen .
  2. Selecteer Module .
  3. 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
  1. Druk op Bestand en vervolgens op Opslaan.
  2. Om uw code uit te voeren, drukt u op Uitvoeren en kiest u vervolgens Sub-/gebruikersformulier uitvoeren (of gewoon F5).
  3. Sluit de VB-editor.

VBA om dia's in te voegen

  1. Klik in de VB-editor met de rechtermuisknop op VBAProject en klik op Invoegen.
  2. Selecteer module
  3. 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
  1. Druk op Bestand en vervolgens op Opslaan.
  2. Om uw code uit te voeren, drukt u op Uitvoeren en kiest u vervolgens Sub-/gebruikersformulier uitvoeren (of gewoon F5).
  3. 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.

Laat een reactie achter

Hoe maak je een eenvoudig leadvolgsysteem in Excel voordat je een CRM-systeem koopt?

Hoe maak je een eenvoudig leadvolgsysteem in Excel voordat je een CRM-systeem koopt?

Bouw een praktische leadtracker in Excel met tabellen, keuzelijsten, opvolgingsdata, filters, voorwaardelijke opmaak en een eenvoudig draaitabeldashboard voordat u investeert in CRM-software.

Eenvoudig afdrukbaar aanwezigheidsformulier voor kinderopvang aan huis: wat bij te houden en waarom.

Eenvoudig afdrukbaar aanwezigheidsformulier voor kinderopvang aan huis: wat bij te houden en waarom.

Gebruik dit eenvoudige, afdrukbare aanwezigheidsformulier voor kinderopvang aan huis om aankomsten, vertrekken, afwezigheden, handtekeningen en vereiste documenten bij te houden.

Eenvoudig inventarisatieformulier voor Excel: een kant-en-klare lay-out voor de detailhandel die snel resultaten oplevert.

Eenvoudig inventarisatieformulier voor Excel: een kant-en-klare lay-out voor de detailhandel die snel resultaten oplevert.

Maak een eenvoudig Excel-bestand voor voorraadtellingen in winkels, met functies voor SKU, locatie, getelde hoeveelheid, afwijking, hertelling en een afdrukbaar overzicht.

Printbaar sjabloon voor een marketingstrategie van één pagina voor lokale bedrijven

Printbaar sjabloon voor een marketingstrategie van één pagina voor lokale bedrijven

Gebruik deze afdrukbare sjabloon voor een marketingstrategie van één pagina om een ​​lokale doelgroep, aanbod, kanaalmix, budget, acties en meetbare doelen te kiezen.

Gratis sjabloon voor een ploegendienstrooster voor werknemers in Excel met automatische urenberekening.

Gratis sjabloon voor een ploegendienstrooster voor werknemers in Excel met automatische urenberekening.

Maak in Excel gratis een dienstrooster voor je medewerkers met begin- en eindtijden, pauzeaftrek, verwerking van nachtdiensten, wekelijkse totalen en een eenvoudige urencalculator.

Beste gratis factureringsapps voor kleine dienstverlenende bedrijven in de VS (2026)

Beste gratis factureringsapps voor kleine dienstverlenende bedrijven in de VS (2026)

Vergelijk de beste gratis factureringsapps voor Amerikaanse dienstverlenende bedrijven in 2026, waaronder Zoho Invoice, Square, Wave, PayPal en Invoice Ninja.

Simple Bi-Weekly Payroll Tracker Excel Template for Small Teams: A Beginner-Friendly Setup

Simple Bi-Weekly Payroll Tracker Excel Template for Small Teams: A Beginner-Friendly Setup

Build a simple bi-weekly payroll tracker in Excel for a small team, with clear sheets, formulas, checks, and practical limits for safe payroll reconciliation.

Hoe exporteer ik Salesforce-contactpersonen naar een overzichtelijk Excel-bestand?

Hoe exporteer ik Salesforce-contactpersonen naar een overzichtelijk Excel-bestand?

Leer hoe u Salesforce-contactpersonen naar een overzichtelijk Excel-bestand exporteert, ID's en tekstvelden behoudt, duplicaten veilig verwijdert en veelvoorkomende CSV-fouten voorkomt.

Printbaar sjabloon voor een kostenraming in de bouwsector in Excel voor kleine aannemers

Printbaar sjabloon voor een kostenraming in de bouwsector in Excel voor kleine aannemers

Maak in Excel een afdrukbare kostenraming voor een bouwproject met praktische kostencategorieën, formules, markeringvelden, afdrukinstellingen en een kant-en-klare checklist voor aannemers.

Afdrukbare checklist voor evenementenplanning & budgetsjabloon voor Word

Afdrukbare checklist voor evenementenplanning & budgetsjabloon voor Word

Gebruik deze afdrukbare checklist voor evenementenplanning en budgetsjabloon in Word om eigenaren, deadlines, kosten, leveranciers en de gereedheid voor de evenementdag bij te houden met duidelijke kwaliteitscontroles.