「vba powerpoint table 取得」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。
PowerPoint VBAで、表を表すTableオブジェクトを取得するには、
どのようなコードを書けばいいのかを探していた方による検索でしょう。
Tableを取得するサンプルマクロ
アクティブなプレゼンテーションで先頭スライドの2番目の図形に表を作成してから、以下のSubプロシージャを実行してみてください。
With ActivePresentation.Slides(1).Shapes(2)
If Not .HasTable Then
MsgBox "先頭スライド2番目の図形に表は存在しません。"
Exit Sub
End If
Dim tbl As Table
Set tbl = .Table
Stop
End Sub
Stopステートメントで中断モードになりますから、拙著『いちばんやさしいExcel VBAの教本』でも多用しているローカルウィンドウを表示して、オブジェクト変数tblの中をご確認ください。
Tableを取得するオブジェクトモデル
PowerPointのスライド上に存在する操作対象は、すべて図形または図形の中に存在します。
表も同じです。
まずは、PowerPointのもっとも基本的な、
Application
└ Presentation
└ Slide
└ Shape
というオブジェクトの階層構造を理解し、覚えましょう。
そして、表を表すTableは、
Application
└ Presentation
└ Slide
└ Shape
└ Table
のようにShapeの下位に存在することと、Shapeオブジェクトに用意されているTableプロパティでTableオブジェクトを取得できることを
理解しましょう。
表が存在するかはShape.HasTableプロパティで判定できる
Tableが存在しないときに、いきなりTableオブジェクトを取得しようとすると、実行時エラーが発生しますから、上記のSubプロシージャでは
With ActivePresentation.Slides(1).Shapes(2)
If Not .HasTable Then
MsgBox "先頭スライド2番目の図形に表は存在しません。"
と、ShapeオブジェクトのHasTableプロパティを使って、
Shape内に表が存在するかを事前に確認しています。
最終更新日時:2019-09-18 11:19
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » 表・テーブル » PowerPoint VBAでTableを取得する