Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » 選択図形をグループ化するPowerPointマクロ

動作検証バージョン:Windows版PowerPoint2016(バージョン1808ビルド10730.20102)

「パワーポイント VBA グループ化する」
という検索キーワードでのアクセスに気が付きました。

図形のグループ化をPowerPoint VBAで行うには、どのようなコードを書けばいいのかを探していた方による検索です。

[スポンサードリンク]

選択されている図形をグループ化するサンプルマクロ

グループ化したい図形を、どう指定したいのかがわかりませんので、ここでは選択されている図形をグループ化するSubプロシージャをご紹介しておきます。

Sub 選択図形をグループ化する()
On Error GoTo ErrHandl

 With ActiveWindow.Selection
  If .Type <> ppSelectionShapes Then Err.Raise 999
  If .ShapeRange.Count = 1 Then Err.Raise 999
  .ShapeRange.Group
 End With

Exit Sub
ErrHandl:
 Select Case Err.Number
  Case 999
   MsgBox "グループ化したい図形を、複数選択してから実行してください。"
  Case -2147024891
   MsgBox "選択されている図形は、グループ化できません。"
  Case Else
   MsgBox Err.Description & vbCrLf & Err.Number
 End Select
 Err.Clear
End Sub

サンプルマクロの解説

グループ化はShapeRange.Groupメソッドで

選択されている図形をグループ化するには、
  With ActiveWindow.Selection
   If .Type <> ppSelectionShapes Then Err.Raise 999
   If .ShapeRange.Count = 1 Then Err.Raise 999
   .ShapeRange.Group
部分の、
  ActiveWindow.Selection.ShapeRange.Group
だけでOKです。

エラー処理

ただし、ShapeRangeコレクションのGroupメソッドは、エラーになるケースがいろいろあります。

図形が1個しか選択されていないときや、グループ化できない図形が選択されているときなどです。

このあたりをまとめておきたかったので、上記のSubプロシージャでは、
図形が選択されていないとき、
  If .Type <> ppSelectionShapes Then Err.Raise 999
図形が1個しか選択されていないときには、
  If .ShapeRange.Count = 1 Then Err.Raise 999
エラーを上げるようにして、以下の箇所でエラーメッセージを表示させています。
 ErrHandl:
  Select Case Err.Number
   Case 999
    MsgBox "グループ化したい図形を、複数選択してから実行してください。"

プレースホルダーなどグループ化できない図形が選択されていた場合は、実行時エラーが発生するので、
  Case -2147024891
   MsgBox "選択されている図形は、グループ化できません。"
とエラーメッセージを表示しています。

GroupメソッドはShapeRangeにだけ用意されている

上述のSubプロシージャで利用しているGroupメソッドは、ShapeRangeオブジェクトにだけ用意されています。

オブジェクトブラウザーで「group」を完全一致で検索すると、下図のとおりです。

オブジェクトブラウザー:「group」の検索結果

ShapeRangeオブジェクトは、Shapeオブジェクトと同じプロパティ・メソッドが、かなり用意されていますけれど、単独の図形を表すShapeオブジェクトにはGroupメソッドは存在しません。

オブジェクトブラウザー:Shapeオブジェクト

最終更新日時:2018-11-02 09:06

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » 選択図形をグループ化するPowerPointマクロ

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

検索


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

.