PowerPoint automatiseren met Visual Basic in Office 2003, Office XP Developer en Office 2000 Developer

Samenvatting

In dit artikel wordt beschreven hoe u Microsoft PowerPoint kunt automatiseren met behulp van Microsoft Visual Basic in Microsoft Office 2003, Microsoft Office XP Developer en Microsoft Office 2000 Developer.

Meer informatie

Dankzij het gebruik van automatisering in PowerPoint kunt u programmatisch dia's afdrukken en weergeven en de meeste zaken afhandelen die u normaal gesproken interactief in het programma uitvoert. Voer de volgende stappen uit om een voorbeeldproject voor automatisering in Visual Basic samen te stellen en uit te voeren:
  1. Maak een nieuw standaard EXE-project. Formulier1 wordt standaard gemaakt.
  2. Voeg een CommandButton toe aan het standaardformulier.
  3. Open het menu Project, klik op References en voeg Microsoft PowerPoint 8.0 Object Library en Microsoft Office 8.0 Object Library toe. Voor Office 2000 is dit versie 9.0 van de typebibliotheken. Voor Office 2002 is dit versie 10.0. Voor Microsoft Office 2003 is dit versie 11.0.
  4. Voeg de volgende code toe in het formuliercodevenster:
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

    Private Sub Command1_Click()
    ' Start PowerPoint.
    Dim ppApp As PowerPoint.Application
    Set ppApp = CreateObject("Powerpoint.Application")

    ' Maak de toepassing zichtbaar.
    ppApp.Visible = True

    ' Voeg een nieuwe presentatie toe.
    Dim ppPres As PowerPoint.Presentation
    Set ppPres = ppApp.Presentations.Add(msoTrue)

    ' Voeg een nieuwe dia toe.
    Dim ppSlide1 As PowerPoint.Slide
    Set ppSlide1 = ppPres.Slides.Add(1, ppLayoutText)

    ' Voeg wat tekst toe.
    ppSlide1.Shapes(1).TextFrame.TextRange.Text = "Mijn eerste dia"
    ppSlide1.Shapes(2).TextFrame.TextRange.Text = "PowerPoint automatiseren is een makkie" & vbCr & "Werken met Visual Basic is cool!"

    ' Voeg nog een dia toe, met een diagram.
    Dim ppSlide2 As PowerPoint.Slide
    Set ppSlide2 = ppPres.Slides.Add(2, ppLayoutTextAndChart)

    ' Voeg wat tekst toe.
    ppSlide2.Shapes(1).TextFrame.TextRange.Text = "Slide 2's topic"
    ppSlide2.Shapes(2).TextFrame.TextRange.Text = "U kunt in uw PowerPoint-dia's diagrammen maken en gebruiken!"

    ' Voeg een diagram toe op dezelfde locatie als het vorige diagram.
    Dim cTop As Double
    Dim cWidth As Double
    Dim cHeight As Double
    Dim cLeft As Double
    With ppSlide2.Shapes(3)
    cTop = .Top
    cWidth = .Width
    cHeight = .Height
    cLeft = .Left
    .Delete
    End With
    ppSlide2.Shapes.AddOLEObject cLeft, cTop, cWidth, cHeight, "MSGraph.Chart"

    ' Voeg nog een dia toe, met een organigram.
    Dim ppSlide3 As PowerPoint.Slide
    Set ppSlide3 = ppPres.Slides.Add(3, ppLayoutOrgchart)

    ' Voeg wat tekst toe.

    ppSlide3.Shapes(1).TextFrame.TextRange.Text = "De rest wordt alleen beperkt door uw verbeelding"

    ' Voeg een organigram toe op dezelfde locatie als het vorige organigram.
    With ppSlide3.Shapes(2)
    cTop = .Top
    cWidth = .Width
    cHeight = .Height
    cLeft = .Left
    .Delete
    End With
    ppSlide3.Shapes.AddOLEObject cLeft, cTop, cWidth, cHeight, "OrgPlusWOPX.4" 'OrgPlusWOPX.4
    ' is een object van Microsoft Organigram


    ' Stel eigenschappen van de diavoorstelling in.
    With ppPres.Slides.Range.SlideShowTransition
    .EntryEffect = ppEffectRandom
    .AdvanceOnTime = msoTrue
    .AdvanceTime = 5 ' 5 seconds per slide
    End With

    ' Bereid de diavoorstelling voor en voer deze uit.
    With ppPres.SlideShowSettings
    .ShowType = ppShowTypeKiosk
    .LoopUntilStopped = msoTrue

    .RangeType = ppShowAll
    .AdvanceMode = ppSlideShowUseSlideTimings
    .Run
    End With

    ' Slaapstand inschakelen, zodat gebruiker diavoorstelling kan bekijken.
    Sleep (15000)

    ' Opschonen.
    ppApp.Quit

    End Sub
  5. Voer het project uit.

Referenties

Voor meer informatie over Office Automation bezoekt u de ondersteuningswebsite van Microsoft Office Development:
Eigenschappen

Artikel-id: 222929 - Laatst bijgewerkt: 13 feb. 2006 - Revisie: 1

Feedback