Comment faire pour automatiser PowerPoint à l'aide de Visual Basic dans Office 2003, dans Office XP Developer et dans Office 2000 Developer

Traductions disponibles Traductions disponibles
Numéro d'article: 222929 - Voir les produits auxquels s'applique cet article
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Agrandir tout | Réduire tout

Résumé

Cet article décrit comment faire pour automatiser Microsoft PowerPoint à l'aide de Microsoft Visual Basic dans Microsoft Office 2003, Microsoft Office XP Developer et Microsoft Office 2000 Developer

Plus d'informations

À l'aide de l'automation dans PowerPoint, vous pouvez imprimer, afficher des diapositives et effectuer par programmation la plupart des choses que vous pouvez faire interactivement. Procédez comme suit pour créer et exécuter un exemple d'automation Visual Basic :
  1. Créez un nouveau projet Standard EXE. Form1 est créé par défaut.
  2. Ajoutez un Bouton de commande au formulaire par défaut.
  3. Dans le menu Projet, cliquez sur Références, puis ajoutez Microsoft PowerPoint 8.0 Object Library et Microsoft Office 8.0 Object Library. Pour Office 2000, c'est la version 9.0 des Bibliothèques de types. Pour Office 2002, c'est la version 10.0. Pour Microsoft Office 2003, c'est la version 11.0.
  4. Ajoutez le code suivant dans la fenêtre Code du formulaire :
    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")
     
        ' Make it visible.
        ppApp.Visible = True
     
        ' Add a new presentation.
        Dim ppPres As PowerPoint.Presentation
        Set ppPres = ppApp.Presentations.Add(msoTrue)
     
        ' Add a new slide.
        Dim ppSlide1 As PowerPoint.Slide
        Set ppSlide1 = ppPres.Slides.Add(1, ppLayoutText)
     
        ' Add some text.
        ppSlide1.Shapes(1).TextFrame.TextRange.Text = "My first slide"
        ppSlide1.Shapes(2).TextFrame.TextRange.Text = "Automating Powerpoint is easy" & vbCr & "Using Visual Basic is fun!"
     
        ' Add another slide, with a chart.
        Dim ppSlide2 As PowerPoint.Slide
        Set ppSlide2 = ppPres.Slides.Add(2, ppLayoutTextAndChart)
        
        ' Add some text.
        ppSlide2.Shapes(1).TextFrame.TextRange.Text = "Slide 2's topic"
        ppSlide2.Shapes(2).TextFrame.TextRange.Text = "You can create and use charts in your Powerpoint slides!"
     
        ' Add a chart in the same location as the old one.
        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"
     
        ' Add another slide, with an organization chart.
        Dim ppSlide3 As PowerPoint.Slide
        Set ppSlide3 = ppPres.Slides.Add(3, ppLayoutOrgchart)
     
        ' Add some text.
    
        ppSlide3.Shapes(1).TextFrame.TextRange.Text = "The rest is only limited by your Imagination"
     
        ' Add an Org Chart in the same location as the old one.
        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 an object of the application Microsoft Organization Chart
    
     
        ' Setup slide show properties.
        With ppPres.Slides.Range.SlideShowTransition
            .EntryEffect = ppEffectRandom
            .AdvanceOnTime = msoTrue
            .AdvanceTime = 5 ' 5 seconds per slide
        End With
     
        ' Prepare and run the slide show.
        With ppPres.SlideShowSettings
            .ShowType = ppShowTypeKiosk
            .LoopUntilStopped = msoTrue
    
            .RangeType = ppShowAll
            .AdvanceMode = ppSlideShowUseSlideTimings
            .Run
        End With
     
        ' Sleep so user can watch the show.
        Sleep (15000)
     
        ' Clean up.
        ppApp.Quit
    
    End Sub
    					
  5. Exécutez le projet.

Références

Pour plus d'informations sur l'automation Office, reportez-vous au site Web du support de développement Microsoft Office à l'adresse suivante :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnoxpta/html/vsofficedev.asp

Propriétés

Numéro d'article: 222929 - Dernière mise à jour: jeudi 4 mai 2006 - Version: 6.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Office Édition Standard 2003
  • Microsoft Office XP Developer
  • Microsoft Office 2000 Developer
  • Microsoft Visual Basic 5.0 Édition professionnelle
  • Microsoft Visual Basic 6.0 Édition professionnelle
  • Microsoft Visual Basic 5.0 Édition Entreprise
  • Microsoft Visual Basic 6.0 Édition Entreprise
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard
  • Microsoft PowerPoint 2000 Standard
  • Microsoft PowerPoint 97 Standard
Mots-clés : 
kbautomation kbhowto KB222929
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com