Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » 選択されている図形を上下左右に整列するPowerPointマクロ

選択されている図形を上下左右に整列するPowerPointマクロ

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013, Windows版PowerPoint2016

PowerPointで資料を作成しているときに、選択しておいた図形を[上下に整列]してから、

選択されている図形を上下左右に整列する

[左右に整列]するという作業が、

選択されている図形を上下左右に整列する

頻発しました。

同じことを何度も行うので、少しでも作業を楽にするために、VBA(Visual Basic for Applications)でマクロを作って、一発で上下左右に整列が行われるようにしました。

そのPowerPointマクロをご紹介しておきます。

[スポンサードリンク]

選択図形を上下左右に整列するサンプルマクロ

複数の図形を選択しておいてから以下のマクロを実行すると、上下に整列と左右に整列が一気に行われます。

Sub 選択されている図形を上下左右に整列する()

 With ActiveWindow.Selection
  If .Type <> ppSelectionShapes Then Exit Sub
  With .ShapeRange
   .Distribute msoDistributeVertically, msoFalse
   .Distribute msoDistributeHorizontally, msoFalse
  End With
 End With

End Sub

サンプルマクロの解説

選択されている図形を上下に整列してから、
  With .ShapeRange
   .Distribute msoDistributeVertically, msoFalse

左右に整列しているだけのマクロです。
   .Distribute msoDistributeHorizontally, msoFalse

ShapeRangeオブジェクトのDistributeメソッドで整列が行われます。

Distributeは分配する・配布するといった意味の動詞です。

ShapeRange.Distributeメソッドの第1引数・DistributeCmdに、msoDistributeVerticallyを指定すれば上下の整列、msoDistributeHorizontallyを指定すれば左右の整列になります。

第2引数・RelativeToは、リボン上の[スライドに合わせて配置]または[選択したオブジェクトを揃える]と同じ意味で、

選択されている図形を上下左右に整列する

msoFalseを指定すれば[選択したオブジェクトを揃える]を選択した状態、即ち、スライド内での位置は影響を受けず、選択されている図形が等間隔になるように配置されます。

図形が選択されていない場合に実行時エラーが発生するのを避けるために、ShapeRange.Distributeメソッドを実行する前に、選択されているのが図形かどうかをチェックしています。
 With ActiveWindow.Selection
  If .Type <> ppSelectionShapes Then Exit Sub

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » 選択されている図形を上下左右に整列するPowerPointマクロ

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.