Shapes enregistrer sous png - Power point

Bonjour à tous

Pas l'habitude de réaliser des macros sur power point.

J''ai besoins de:

Sélectionner toutes les formes présentes sur la diapositives en cours (Shapes.selectall)

Faire un enregistrer sous en PNG (Je ne sais pas faire)

Merci pour votre aide

Bonjour,

Vous pouvez procéder avec une macro comme ceci :

Public Sub ExportAllActiveShapes()
  Dim ap As Presentation: Set ap = ActivePresentation
  Dim aSlide As Slide: Set aSlide = Application.ActiveWindow.View.Slide

  Dim sh As Shape
  For Each sh In aSlide.Shapes
    sh.Export ap.Path & "\Image" & Format(Rnd * 1000, "0000") & ".png", 2, , , 1
  Next sh
End Sub

Vous pouvez changer "Image" par le nom que vous voulez. Ça exporter les png dans le dossier du ppt(m).

EDIT : code adapté depuis Excel VBA to save PPT shapes as PNG images | MrExcel Message Board

Un bon début !

Mais cela enregistre les formes une par une.

J'aimerai avoir l'ensemble des formes sur toute la slide enregistrés en une image

Ah, j'avais mal compris la question. Comme ceci alors :

Public Sub ExportActiveSlideShapes()
  Dim ap As Presentation: Set ap = ActivePresentation
  Dim aSlide As Slide: Set aSlide = Application.ActiveWindow.View.Slide

  Dim nbShapes As Long: nbShapes = aSlide.Shapes.Count
  Dim arrIdx() As Long: ReDim arrIdx(1 To nbShapes)
  Dim i As Long
  For i = LBound(arrIdx) To UBound(arrIdx)
    arrIdx(i) = i
  Next i

  With aSlide.Shapes.Range(arrIdx)
    .Export ap.Path & "\Slide_" & aSlide.SlideIndex & ".png", 2, , , 1
  End With
End Sub

Merci

Je vous en prie, bonne journée

Rechercher des sujets similaires à "shapes enregistrer png power point"