Home » パワーポイントマクロ・PowerPoint VBAの使い方 » 表・テーブル » PowerPoint VBAで表に値を設定する

PowerPoint VBAで表に値を設定する

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

「powerpoint vba 表に値を設定」
といった検索キーワードで、時折アクセスがあります。

PowerPoint VBAを使って表に値を入力するには、どのようなコードを書けばいいのかを探していらした方による検索です。

PowerPointの表は、オブジェクトの階層がかなり深いので、
「powerpoint vba 表に値を設定」
と検索なさった方の気持ちはよくわかります。

[スポンサードリンク]

表に値を設定するサンプルマクロ

シンプルなサンプルをご紹介しておきましょう。

Sub 表に値を設定する()
 With ActivePresentation.Slides(1).Shapes(1).Table
  Dim r As Long, c As Long
  For r = 1 To .Rows.Count
   For c = 1 To .Columns.Count

    .Cell(r, c).Shape.TextFrame.TextRange.Text = r & "行" & c & "列"

   Next c
  Next r
 End With
End Sub

アクティブなプレゼンテーションの先頭に、白紙レイアウトのスライドを作成し、任意のサイズの表を挿入しておいてから上記のSubプロシージャを、拙著『いちばんやさしいExcel VBAの教本』でも多用している、ショートカットキー[F8]でステップ実行しましょう。

サンプルマクロで利用しているオブジェクト式について

アクティブなプレゼンテーションの、先頭スライドの1、つ目の図形を表すShapeを取得している、
  With ActivePresentation.Slides(1).Shapes(1).Table
の部分は、PowerPointでは定番のオブジェクト式です。

実際にデータを入力している行の、
    .Cell(r, c).Shape.TextFrame.TextRange.Text = r & "行" & c & "列"
の部分も、PowerPointの図形に文字列を設定するための、定番のオブジェクト式です。

上記のオブジェクト式に自信のない方は、まずこれらを理解しましょう。

表と各セルを表すオブジェクトの取得は以下のとおりです。
Shape内の表を表すTableオブジェクトを、Shapeオブジェクトの持つTableプロパティを使って取得し、
  With ActivePresentation.Slides(1).Shapes(1).Table
表内の各セルを表すCellオブジェクトを、Tableオブジェクトの持つCellメソッドで取得しています。
     .Cell(r, c).Shape.TextFrame.TextRange.Text = r & "行" & c & "列"

行方向のループの中に、列方向のループが入った、
  Dim r As Long, c As Long
  For r = 1 To .Rows.Count
   For c = 1 To .Columns.Count
の部分は、Excel VBAの2重ループを使って個々のセルにデータを入力したことのある方にとっては、形としては難しくないでしょう。

表のデータを削除したい場合

表へのデータ入力を理解するためには、上記のSubプロシージャを、何度も実行することになるはずです。

上記の、
  .Cell(r, c).Shape.TextFrame.TextRange.Text = r & "行" & c & "列"
の部分を、
  .Cell(r, c).Shape.TextFrame.TextRange.Delete
にすれば、セル内のデータを順番に削除することができますので、こちらもご活用ください。

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » 表・テーブル » PowerPoint VBAで表に値を設定する

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

検索


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

.