Easy-Micro

ESPACEMEMBRE VBA
Powerpoint

Powerpoint et VBA

Pour avoir accès aux objets d'une autre application, donc pour manipuler les informations du serveur, on doit référencer sa bibliothèque d'objets (un fichier .olb) via le menu Outils / Références de l'éditeur VBA. Ce menu est la liste des serveurs OLE enregistrés dans la base de registre de Windows.

VBA La technologie Automation
Automation, appelée également OLE (Object Linking and Embedding) ou OLE Automation, est une technologie qui permet de manipuler les objets d'une autre application directement à partir d'Excel. Pour utiliser la technologie Automation, on doit définir dans le code VBA une variable objet associée aux objets de type application.

Pour réaliser notre exemple (Ecrire dans Powerpoint depuis Excel), il faut d'abord sélectionner une référence au module externe Access via le menu Outils / Références de l'éditeur VBA.
On coche l'option Microsoft Powerpoint 12.0 Object Library (11.0 correspond à 2003, 12.0 pour 2007 et 14.0 pour 2010).

Attention, pas d'enregistreur de macro dans Powerpoint ! On peut afficher l'onglet "Développeur" (Fichier/Options) mais sans ce bouton :-(

Ecrire dans Powerpoint depuis Excel

Sub ouvrir_ppt()
Dim monpowerpoint As PowerPoint.Application
Dim mapresentation As PowerPoint.Presentation

Set monpowerpoint = new PowerPoint.Application
Set mapresentation = monpowerpoint.Presentations.Add

' Affiche Powerpoint
monpowerpoint.Visible = msoTrue

' Ajoute une diapo
mapresentation.Slides.Add Index:=1, Layout:=ppLayoutBlank

With mapresentation
    'Crée une zone de texte (Shapes.AddLabel)
    Set Sh = .Slides(1).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _
    Left:=100, Top:=100, Width:=150, Height:=60)

    'insère la valeur de la Cellule A1 dans une zone de texte
    Sh.TextFrame.TextRange.Text = Range("A1").Value

End With

End Sub


< Page précédente VBA Page suivante >