Search code examples
vbacropshapespowerpoint

How to crop an image with VBA to a specific form e.g. circle in PowerPoint?


I would like to crop a square image shape in PowerPoint with VBA to a specific form e.g. a circle.

With Shape.PictureFormat there are only these options:

  • .CropBottom
  • .CropLeft
  • .CropRight
  • .CropTop

Can someone help me with this question?

Thanks!

Moe


Solution

  • From Microsoft Community - you can use Shape.AutoShapeType to "crop to shape."

    Sub CropToCircle()
        Dim shp As Shape
        Set shp = ActivePresentation.Slides(1).Shapes(1)
    
        If shp.Type = msoLinkedPicture Or shp.Type = msoPicture Then
            shp.AutoShapeType = msoShapeOval
        End If
    End Sub