「powerpoint vba 表に値を設定」
といった検索キーワードで、時折アクセスがあります。
PowerPoint VBAを使って表に値を入力するには、どのようなコードを書けばいいのかを探していらした方による検索です。
PowerPointの表は、オブジェクトの階層がかなり深いので、
「powerpoint vba 表に値を設定」
と検索なさった方の気持ちはよくわかります。
表に値を設定するサンプルマクロ
シンプルなサンプルをご紹介しておきましょう。
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 cNext 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
にすれば、セル内のデータを順番に削除することができますので、こちらもご活用ください。
- Newer:Sheets(Array("Sheet1", "Sheet2", "Sheet3"))の戻り値はWorksheetではない
- Older:AddConnctorで色を指定する-Shape.Line.ForeColor
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » 表・テーブル » PowerPoint VBAで表に値を設定する