【问题标题】:How to increase the size of a shape nudge with each new slide in PowerPoint VBA?如何在 PowerPoint VBA 中增加每张新幻灯片的形状大小?
【发布时间】:2020-07-04 04:31:37
【问题描述】:

此代码创建一个包含 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

【问题讨论】:

    标签: vba powerpoint


    【解决方案1】:

    只需替换:

    oShape.Left = oShape.Left + 2
    

    ...与:

    oShape.Left = oShape.Left + slideNumber
    

    (尽管您可能希望使用 slideNumber * 10 使其引人注目)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多