Home » パワーポイントマクロ・PowerPoint VBAの使い方 » 表・テーブル » PowerPoint VBAでセルの塗りつぶしを設定する

PowerPoint VBAでセルの塗りつぶしを設定する

動作検証バージョン:64bit Windows 10 Pro + 32bit PowerPoint(バージョン2003 ビルド12624.20382 Microsoft Store)

「PowerPoint vba セルの塗りつぶし」
という検索キーワードでアクセスがありました。

プレゼンテーションファイル上に存在する表内のセルで塗りつぶし書式を設定するには、PowerPoint VBAでどのようなコードを書けばいいのかを探していらしたのでしょうか。

セルの塗りつぶしを設定するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブなプレゼンテーションの先頭スライドに存在する表の、1行目×1列目のセルが青色「RGB(0, 0, 255)」で塗りつぶされます。

Sub 先頭スライドにある表の1行1列目セルの塗りつぶしを設定する()
 With ActivePresentation.Slides(1).Shapes(2)
  If .HasTable Then
   .Table.Cell(1, 1).Shape.Fill.ForeColor.RGB = RGB(0, 0, 255)
  End If
 End With
End Sub

セルの塗りつぶしを設定するオブジェクトについて

拙著『いちばんやさしいPowerPoint VBAの教本』のChapter 8で表の基本について、図形の塗りつぶしについてはChapter 5内で解説しています。上記のSubプロシージャではそれらを利用しています。

最初の、
  With ActivePresentation.Slides(1).Shapes(2)
の部分は、拙著のChapter 3~5で解説している、PowerPoint VBAのもっとも基本的な階層
  Presentations/Presentation
   └ Slides/Slide
     └ Shapes/Shape
を辿って、表の存在する図形を取得しているコードです。

一般的なPowerPointの資料では、2つ目の図形に表を作成することが多いため、Shapesコレクションの既定メソッドに指定する引数を「2」とし、
  With ActivePresentation.Slides(1).Shapes(2)

拙著Lesson 41でご紹介しているShape.HasTableプロパティで、表が存在するかを確認しています。
   If .HasTable Then

表内の1行目×1列目のセル内に存在する図形を取得するコード「.Table.Cell(1, 1).Shape」は、
    .Table.Cell(1, 1).Shape.Fill.ForeColor.RGB = RGB(0, 0, 255)
Chapter 8のLesson 56で解説しているものと同じです。

図形の塗りつぶしを設定するコード「Shape.Fill.ForeColor.RGB = RGB(0, 0, 255)」は、
    .Table.Cell(1, 1).Shape.Fill.ForeColor.RGB = RGB(0, 0, 255)
Chapter 5のLesson 43で解説しているものと同じです。

「PowerPoint vba セルの塗りつぶし」
と検索なさった方が、PowerPoint VBAをほとんど利用したことがないのであれば、Chapter 3~5で、PowerPoint VBAのもっとも基本的なオブジェクトの階層構造について概要を理解した上で、(Chapter 6・7はとりあえず飛ばして)Chapter 8を参考にしていただくとイイのかなと、考えています。

最終更新日時:2020-04-11 10:22

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » 表・テーブル » PowerPoint VBAでセルの塗りつぶしを設定する

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

検索


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

.