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.

Gember 2.7.53.0

Gember 2.7.53.0

Ginger is een gratis spelling- en grammaticacontrole.

Blokken

Blokken

Blocks is een intellectueel spel voor leerlingen van de derde klas van de basisschool om hun detectie- en oogvaardigheden te oefenen en wordt door docenten opgenomen in het IT-onderwijsondersteuningsprogramma.

Prezi 6.26

Prezi 6.26

Prezi is een gratis applicatie waarmee u digitale presentaties kunt maken, zowel online als offline.

Mathway

Mathway

Mathway is een zeer nuttige app waarmee u al die wiskundige problemen kunt oplossen waarvoor een complexer hulpmiddel nodig is dan de ingebouwde rekenmachine van uw apparaat.

Adobe Presenter

Adobe Presenter

Adobe Presenter is e-Learning-software uitgegeven door Adobe Systems en beschikbaar op het Microsoft Windows-platform als een Microsoft PowerPoint-plug-in.

Toekan 2.3.0

Toekan 2.3.0

Toucan is een educatief technologieplatform. Hiermee kunt u een nieuwe taal leren terwijl u op gewone, alledaagse websites surft.

ENetViet 24.2

ENetViet 24.2

eNetViet is een applicatie die ouders helpt in contact te komen met de school waar hun kinderen studeren, zodat ze de huidige leersituatie van hun kind duidelijk kunnen begrijpen.

Duolingo

Duolingo

Duolingo - Leer gratis talen, of kortweg Duolingo, is een educatief programma waarmee je veel verschillende talen kunt leren en oefenen.

Snel typen

Snel typen

RapidTyping is een handige en gebruiksvriendelijke tool voor toetsenbordtraining waarmee u uw typsnelheid kunt verbeteren en spelfouten kunt verminderen. Met lessen georganiseerd voor veel verschillende niveaus, leert RapidTyping u hoe u kunt typen of bestaande vaardigheden kunt verbeteren.

MathType 7.4.10.53

MathType 7.4.10.53

MathType is interactieve vergelijkingssoftware van ontwikkelaar Design Science (Dessci), waarmee u wiskundige notaties kunt maken en annoteren voor tekstverwerking, presentaties, eLearning, enz. Deze editor wordt ook gebruikt voor het maken van TeX-, LaTeX- en MathML-documenten.