如何在PowerPoint VBA中增加每张新幻灯片的形状微调大小?

如何在PowerPoint VBA中增加每张新幻灯片的形状微调大小?,vba,powerpoint,Vba,Powerpoint,这段代码创建了一个由10张幻灯片组成的字符串,其中每一张幻灯片的2个形状(编号1和编号3)相对于上一张幻灯片中的类似形状稍微移动一点,而一个形状(编号2)始终保持在相同的位置 每个微移等于2个点(像素?),但我想知道如何修改此代码,使每个微移都比前一个大1个点。例如,创建幻灯片2的微移将为2点,但幻灯片3的微移将为3点,以此类推 Sub MovingFlanks() Dim oPresentation As Presentation Set oPresentation = Act

这段代码创建了一个由10张幻灯片组成的字符串,其中每一张幻灯片的2个形状(编号1和编号3)相对于上一张幻灯片中的类似形状稍微移动一点,而一个形状(编号2)始终保持在相同的位置

每个微移等于2个点(像素?),但我想知道如何修改此代码,使每个微移都比前一个大1个点。例如,创建幻灯片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
(尽管您可能希望使用slideNumber*10使其引人注目)