「powerpoint vba tableの列数 行数」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
詳細は不明ですが、PowerPointのVBA(Visual Basic for Applications)で、表の行数・列数を調べるコードを探している方による検索でしょうか。
この検索キーワードだけでは、何を探していたのか詳しいことがわかりませんので、参考になりそうなマクロをご紹介しておきます。
アクティブスライド上の表の行数と列数を調べるマクロ
以下のマクロを実行すると、アクティブなスライドに存在する、すべての表の行数・列数を調べられます。
Dim msg As String
Dim shp As Shape For Each shp In ActiveWindow.Selection.SlideRange.Shapes
msg = ""
With shp
If .HasTable = msoTrue Then
msg = msg & "行数:"
msg = msg & .Table.Rows.Count & vbCrLf
msg = msg & "列数:"
msg = msg & .Table.Columns.Count
MsgBox msg
End If
End With
Next shp
End Sub
表の存在するスライドがアクティブな状態で、上記のマクロを実行すると、表の行数と列数がメッセージボックスに表示されます。
表が複数存在しているスライドがアクティブな状態で実行したときは、表の数だけメッセージボックスが表示されます。
表の行数・列数を取得するオブジェクトモデル
PowerPointの表(Tableオブジェクト)が、どのオブジェクトに所属しているのかが、難点の一つでしょうか。
Tableオブジェクトは、ShapeオブジェクトやShapeRangeオブジェクトのTableプロパティで取得できるので、
アクティブスライド上の全Shapeに対してループを回して、
For Each shp In ActiveWindow.Selection.SlideRange.Shapes
個々のShapeのHasTableプロパティを調べて、もしTableがあったのなら、
With shp
If .HasTable = msoTrue Then
表の行数と、
msg = msg & .Table.Rows.Count & vbCrLf
表の列数を取得しています。
msg = msg & .Table.Columns.Count
最終更新日時:2019-08-20 12:33
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » 表・テーブル » 表の行数・列数を調べるPowerPointマクロ