首页 > 解决方案 > 通过 Excel VBA 在 Powerpoint 中删除形状

问题描述

我目前正在尝试在 excel 中删除幻灯片上的形状并将其替换为新形状。奇怪的是,我在幻灯片 6 上实现了这一点,然后尝试在幻灯片 4 上复制该过程;但是,它不会删除形状,只是将新形状粘贴到顶部。我的代码如下所示;注意:两张幻灯片都有类似的格式,2 个标题文本框,然后是形状。唯一的区别是幻灯片 6 有 2 个标题文本框和1 个子标题框,然后是形状。

Set Financials = Sheet20.Range("A17:C21")
Set Assumptions = Sheet45.Range("A1:C5")

'Choose slide number

Set FinSlide = PPTPrez.Slides(6)
Set AssumSlide = PPTPrez.Slides(4)

'If there is a table in powerpoint slide, delete the table

For Pic1Count = AssumSlide.Shapes.Count To 1 Step -1
    If AssumSlide.Shapes(Pic1Count).Type = msoPicture Then
        AssumSlide.Shapes(Pic1Count).Delete
    End If
Next

For PicCount = FinSlide.Shapes.Count To 1 Step -1
    If FinSlide.Shapes(PicCount).Type = msoPicture Then
        FinSlide.Shapes(PicCount).Delete
    End If
Next

所以这段代码的第二部分有效(FinSlide);但是,AssumSlide 没有。有什么想法或帮助吗?

标签: excelvbapowerpointshapes

解决方案


推荐阅读