Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » PowerPoint VBAで最後に挿入された図形を取得する

PowerPoint VBAで最後に挿入された図形を取得する

動作検証バージョン:Windows版PowerPoint(バージョン1904 ビルド11601.20178)

「vba パワーポイント 最新の図形」
という検索キーワードに気が付きました。

「最新の図形」と表現されているのが何なのか、いくつかの可能性が考えられますが、最後に挿入された図形を取得したいということならば、以下のSubプロシージャが参考になる、かも、しれません。

[スポンサードリンク]

最後に挿入されたShapeを取得する

標準モードで以下のSubプロシージャを実行すると、基本的には、最後に挿入された図形が選択されます。

Sub 最後に挿入した図形を取得する()
 With ActiveWindow.Selection.SlideRange.Shapes

  Dim cnt As Long
  cnt = .Count

  Dim shp As Shape
  Set shp = .Item(cnt)
  shp.Select

 End With
End Sub

最後に挿入された図形は最大のインデックス番号で取得できる

Shapesコレクションに用意されているItemメソッドを使うと、個々の図形を表すShapeオブジェクトを取得できます。

このShapes.Itemメソッドの引数に指定するインデックス番号は、最背面の図形が1で、手前の図形ほど1ずつ増えた整数になっています。

つまり、スライド内で最大のインデックス番号をShapes.Itemメソッドの引数に指定すると、最前面の図形(即ち最後に挿入された図形)を取得できます。

実際のコードでは、まずアクティブスライドの図形の数を変数cntに代入しておいて、
  With ActiveWindow.Selection.SlideRange.Shapes
   Dim cnt As Long
   cnt = .Count

その数をShape.Itemメソッドの引数に指定しています。
   Dim shp As Shape
   Set shp = .Item(cnt)

もちろん、最前面への移動が行われた後では、上記のコードで、最後に挿入された図形を取得することはできません。

最終更新日時:2019-05-30 04:20

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » PowerPoint VBAで最後に挿入された図形を取得する

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

検索


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

.