Home » パワーポイントマクロ・PowerPoint VBAの使い方 » 表・テーブル » PowerPoint VBAでTableを取得する

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

「vba powerpoint table 取得」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。

PowerPoint VBAで、表を表すTableオブジェクトを取得するには、

どのようなコードを書けばいいのかを探していた方による検索でしょう。

[スポンサードリンク]

Tableを取得するサンプルマクロ

アクティブなプレゼンテーションで先頭スライド2番目の図形に表を作成してから、以下のSubプロシージャを実行してみてください。

Sub 先頭スライド2番目の図形内のTableを取得する()
 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 With
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を取得する

「表・テーブル」の記事一覧

検索


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

.