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

Этот код создает строку из 10 слайдов, в которой 2 фигуры каждого следующего слайда (номер 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

1 Ответ

3 голосов
/ 11 ноября 2009

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

oShape.Left = oShape.Left + 2

... с

oShape.Left = oShape.Left + slideNumber

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

...