首页>文档>PPT文档>PPT宏代码>批量删除固定元素

批量删除固定元素

选择要删除的固定元素,执行代码后,所有幻灯片上和此图形位置、大小相同的图形都会被删除。

Sub 批量删除()
    Dim oSlide As Slide, oShape As Shape
    Dim myWidth As Single, myHeight As Single, myTop As Single, myLeft As Single
    On Error Resume Next
    If ActiveWindow.Selection.ShapeRange.Count <> 1 Then
        If Err.Number <> 0 Then
            MsgBox "未选择任何对象。" & vbCrLf & "请先选择1个图形。", vbExclamation + vbOKOnly
            Err.Clear
            Exit Sub
        End If
        MsgBox "未选择图形或选择的图形超过1个。" & vbCrLf & "请先选择1个图形。", vbExclamation + vbOKOnly
        Exit Sub
    End If
    Set oShape = ActiveWindow.Selection.ShapeRange(1)
    myTop = oShape.Top
    myLeft = oShape.Left
    myHeight = oShape.Height
    myWidth = oShape.Width
    For Each oSlide In ActivePresentation.Slides
        For Each oShape In oSlide.Shapes
            '有时候图形会有一点移动或变形,所以采用了近似的算法来包容此情况'
            If Abs(myTop - oShape.Top) < 1 And Abs(myLeft - oShape.Left) < 1 And Abs(myHeight - oShape.Height) < 1 And Abs(myWidth - oShape.Width) < 1 Then
                oShape.Delete
            End If
        Next
    Next
End Sub

 

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索