Powerpoint VBA - Как изменить код для правильного зацикливания? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть следующий цикл, который предназначен для создания треугольника на слайдах со 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 слайдах.

Я знаю, что это проблема, но я не знаю, как изменить эту часть кода, чтобы исправитьЭто. Что требуется вместо этого?

Ответы [ 2 ]

2 голосов
/ 24 октября 2019

Вам нужно использовать повторный слайд презентации:

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
1 голос
/ 24 октября 2019

быстрое решение

For i = 2 To 4

With ActivePresentation.Slides(i)

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

End With
Next i
...