首页 文章

需要在PowerPoint中将形状位置设置为所有幻灯片中的相同值

提问于
浏览
1

我有几十个PowerPoint演示文稿,每个都包含几十张幻灯片 . 它们非常基本,因为每张幻灯片上只有一个形状,并且在形状上或幻灯片之间没有使用动画 . 问题在于创建它们的人并没有真正关注从滑动到滑动的形状的垂直位置,因此当从一张幻灯片转到另一张幻灯片时它非常明显 .

我希望能够快速将垂直位置设置为每张幻灯片上每个形状的相同值 . 水平位置很好 . 我一直在手动操作它们,但是有很多幻灯片和幻灯片可以通过,我宁愿不必这样做,因为它非常耗时 .

我在这个网站以及谷歌上做了一些搜索,但还没有找到任何东西 . 如果它需要VBA代码,那也没关系 .

我正在使用PowerPoint 2010 .

2 回答

  • 1

    作为一个起点(总空气代码,请注意):

    Sub LineEmUpDano()
      Dim oSl as Slide
      Dim sngTop as Single
    
      ' Pick up the top position of the first shape
      ' on the first slide:
      SngTop = ActivePresentation.Slides(1).Shapes(1).Top
    
      ' Apply the top position to each slide in the pres
      For Each oSl in ActivePresentation.Slides
        oSl.Shapes(1).Top = sngTop
        ' you could instead use
        ' oSl.Shapes(1).Top = 42 ' or whatever value you like
        ' Values are in points, 72 points to the inch
      Next  ' slide
    End Sub
    
  • 0

    使用上面的Steve的建议作为跳跃点,然后阅读一些教程,我能够提出一个工作脚本:

    Sub UniformHeight()
        Dim SlideToCheck As Slide
        Dim ShapeIndex As Integer
    
        For Each SlideToCheck In ActivePresentation.Slides
            For ShapeIndex = SlideToCheck.Shapes.Count To 1 Step -1
                SlideToCheck.Shapes(ShapeIndex).Top = 36
            Next
        Next
    End Sub
    

相关问题