首页 > 解决方案 > Powerpoint VBA - 如何修改代码以正确循环?

问题描述

我有以下循环,用于在幻灯片 2 到 4 上创建一个三角形。

For i = 2 To 4

With ActivePresentation.Slides(i)

    Dim tri As Shape
    Set tri = ActiveWindow.Selection.SlideRange.Shapes.AddShape(msoShapeRightTriangle, 886, 0, 74, 74)

End With
Next i

该代码有效,但因为我正在调用ActiveWindow,所以循环在同一张幻灯片(我从中运行宏的那个)而不是 3 张幻灯片上创建了 3 次三角形。

我知道这是问题所在,但我不知道如何修改那部分代码来修复它。相反需要什么?

标签: vbapowerpoint

解决方案


您需要使用迭代的演示幻灯片:

For i = 2 To 4

  With ActivePresentation.Slides(i)

    Dim tri As Shape
    Set tri = .Shapes.AddShape(msoShapeRightTriangle, 886, 0, 74, 74)

  End With

Next i

推荐阅读