1

それぞれ数十のスライドを含む数十のPowerPointショーがあります。これらは、各スライドに1つの図形しかなく、図形上またはスライド間でアニメーションが使用されていないという点で非常に基本的です。問題は、それらを作成した人がスライドからスライドへの形状の垂直位置に実際に注意を払っていなかったため、あるスライドから次のスライドに移動するときに非常に目立つことです。

各スライドの形状ごとに、垂直位置を同じ値にすばやく設定できるようにしたいと思います。横位置で結構です。私は手動でそれらを行ってきましたが、通過するスライドやスライドショーがたくさんあり、非常に時間がかかるので、これを行う必要はありません。

このサイトとGoogleで検索を行いましたが、まだ何も見つかりませんでした。VBAコードが必要な場合は、それでも構いません。

PowerPoint2010を使用しています。

4

2 に答える 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
于 2013-02-03T04:43:02.603 に答える
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
于 2013-02-06T01:54:43.010 に答える