PowerPointでたくさんの図形を使って図版を作成するときに、図形のサイズを揃える作業が頻発するのは、私だけではないはずです。
そのようなときに使えるマクロを作ってみましたので、ご紹介しておきます。
複数図形の高さを同じにするPowerPointマクロです。
高さをどう指定するかですが、最初に選択した図形に揃えるという仕様にしました。
最初に選択した図形に高さを揃えるサンプルマクロ
複数の図形が選択されているときに、以下のSubプロシージャを実行すると、最初に選択した図形と同じ高さになります。
With ActiveWindow.Selection
If .Type <> ppSelectionShapes Then Exit Sub With .ShapeRange
.Height = .Item(1).Height
End With ' .ShapeRange
End With ' ActiveWindow.Selection
End Sub
サンプルマクロで行っている処理
最初に選択した図形に高さを揃えているのは、
With ActiveWindow.Selection
With .ShapeRange
.Height = .Item(1).Height
の部分です。
With文を使わない書き方なら、
ActiveWindow.Selection.ShapeRange.Height = _
ActiveWindow.Selection.ShapeRange.Item(1).Height
です。
ShapeRangeはコレクションですが、個々の図形を表すShapeオブジェクトと同じプロパティをかなり持っていて、高さを取得・設定するHeightプロパティも用意されているため、このような書き方ができます。
図形が選択されていないときに実行時エラーが発生しないように、この主たる処理の前に、
With ActiveWindow.Selection
If .Type <> ppSelectionShapes Then Exit Sub
を入れています。
幅を揃えたい場合はWidth
幅を揃えたい場合は、上述のSubプロシージャの、
.Height = .Item(1).Height
の部分を
.Width = .Item(1).Width
としてください。
最終更新日時:2019-02-06 15:57
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » 最初に選択した図形に高さ・幅を揃えるPowerPointマクロ