1. Temporarily insert a sample of the shape that you want to change to
2. Select it
3. Run test2()
4. All AutoShapes on all slides will be changed to that (#1 above) shape (you can change to just Slide(1) )
5. The temp shape will be deleted
The original names and original sizes of the shapes don't change, so they're still called "Heptagon1" and the new shape fits into the old shape's box
Sub test2() Dim oPres As Presentation Dim oSlide As Slide Dim oShape As Shape, oNewShape As Shape Set oNewShape = Nothing On Error Resume Next Set oNewShape = ActiveWindow.Selection.ShapeRange(1) On Error GoTo 0 If oNewShape Is Nothing Then Call MsgBox("You must select an AutoShape", vbCritical + vbOKOnly, "Change Shapes") Exit Sub End If If oNewShape.Type <> msoAutoShape Then Call MsgBox("The selected Shape must be an AutoShape", vbCritical + vbOKOnly, "Change Shapes") Exit Sub End If Set oPres = ActivePresentation For Each oSlide In oPres.Slides For Each oShape In oSlide.Shapes If oShape.Type = msoAutoShape Then oShape.AutoShapeType = oNewShape.AutoShapeType Next Next oNewShape.Delete End Sub




Reply With Quote
