Как увеличить размер смещения фигуры с каждым новым слайдом в PowerPoint VBA?

StackOverflow https://stackoverflow.com/questions/1717300

  •  19-09-2019
  •  | 
  •  

Вопрос

Этот код создает строку из 10 слайдов, в которой две фигуры каждого следующего слайда (номер 1 и номер 3) немного смещаются относительно аналогичных фигур на предыдущем слайде, в то время как одна фигура (номер 2) остается в том же положении на протяжении всего .

Каждое смещение равно 2 точкам (пикселям?), но мне интересно, как можно изменить этот код, чтобы каждое смещение было больше предыдущего на один пункт.Например, сдвиг для создания слайда 2 будет составлять 2 балла, а для слайда 3 — 3 балла и т. д.

Sub MovingFlanks()
    Dim oPresentation As Presentation
    Set oPresentation = ActivePresentation
    Dim oSlide As Slide 
    Dim oSlides As SlideRange
    Dim oShape As Shape
    Dim slideNumber As Integer
    For slideNumber = 1 To 10
        Set oSlide = oPresentation.Slides(oPresentation.Slides.Count)
        oSlide.Copy
        Set oNewSlides = oPresentation.Slides.Paste()
        Set oSlide = oNewSlides(1)
        Set oShape = oSlide.Shapes(1)   
        For Each shapeNum In Array(1, 3)
            Set oShape = oSlide.Shapes(shapeNum)
            oShape.Left = oShape.Left + 2 
        Next shapeNum
    Next slideNumber
End Sub
Это было полезно?

Решение

Просто замените:

oShape.Left = oShape.Left + 2

...с:

oShape.Left = oShape.Left + slideNumber

(хотя вы можете использовать номер слайда * 10, чтобы это было заметно).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top