Recherche…


Remarques

Cette section présente diverses manières d'interagir avec PowerPoint via VBA. De l'affichage des données sur les diapositives à la création de graphiques, PowerPoint est un outil très puissant lorsqu'il est utilisé avec Excel. Ainsi, cette section cherche à démontrer les différentes façons dont VBA peut être utilisé pour automatiser cette interaction.

Les bases: Lancer PowerPoint à partir de VBA

Bien que de nombreux paramètres puissent être modifiés et des variantes puissent être ajoutées en fonction de la fonctionnalité souhaitée, cet exemple présente la structure de base pour le lancement de PowerPoint.

Remarque: Ce code nécessite que la référence PowerPoint ait été ajoutée au projet VBA actif. Voir l'entrée Documentation de référence pour savoir comment activer la référence.

Tout d'abord, définissez les variables pour les objets Application, Presentation et Slide. Bien que cela puisse être fait avec une liaison tardive, il est toujours préférable d'utiliser une liaison anticipée, le cas échéant.

Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide

Ensuite, ouvrez ou créez une nouvelle instance de l'application PowerPoint. Ici, l'appel de On Error Resume Next est utilisé pour éviter qu'une erreur ne soit GetObject par GetObject si PowerPoint n'a pas encore été ouvert. Voir l'exemple de gestion des erreurs de la rubrique Meilleures pratiques pour une explication plus détaillée.

'Open PPT if not running, otherwise select active instance
On Error Resume Next
Set PPApp = GetObject(, "PowerPoint.Application")
On Error GoTo ErrHandler
If PPApp Is Nothing Then
    'Open PowerPoint
    Set PPApp = CreateObject("PowerPoint.Application")
    PPApp.Visible = True
End If

Une fois l'application lancée, une nouvelle présentation et une diapositive contenue par la suite sont générées pour être utilisées.

'Generate new Presentation and slide for graphic creation
Set PPPres = PPApp.Presentations.Add
Set PPSlide = PPPres.Slides.Add(1, ppLayoutBlank)

'Here, the slide type is set to the 4:3 shape with slide numbers enabled and the window 
'maximized on the screen.  These properties can, of course, be altered as needed

PPApp.ActiveWindow.ViewType = ppViewSlide
PPPres.PageSetup.SlideOrientation = msoOrientationHorizontal
PPPres.PageSetup.SlideSize = ppSlideSizeOnScreen
PPPres.SlideMaster.HeadersFooters.SlideNumber.Visible = msoTrue
PPApp.ActiveWindow.WindowState = ppWindowMaximized

À la fin de ce code, une nouvelle fenêtre PowerPoint avec une diapositive vierge sera ouverte. En utilisant les variables d'objet, des formes, du texte, des graphiques et des gammes Excel peuvent être ajoutés à volonté



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow