このサイト『インストラクターのネタ帳』のアクセスログを眺めていて
「powerpoint slide background.fill」
といった検索キーワードに気付きました。
VBAからスライド背景の書式設定を行うコードについて調べていらしたのでしょう。
スライド背景を単色で塗りつぶすサンプルマクロ
以下のSubプロシージャを実行すると、アクティブなプレゼンテーションの、1枚目のスライド背景が単色で塗りつぶされます。
With ActivePresentation.Slides(1)
.FollowMasterBackground = msoFalse
With .Background.Fill
.Solid
.ForeColor.RGB = RGB(255, 255, 204)
End With ' .Background.Fill
End With ' ActivePresentation.Slides(1)
End Sub
個別スライドで、背景書式を設定したいので、まずマスターの影響を受けないようにします。
With ActivePresentation.Slides(1) .FollowMasterBackground = msoFalse
その後、単色での塗りつぶしを設定して、
With .Background.Fill .Solid
色を指定しています。
.ForeColor.RGB = RGB(255, 255, 204)
背景をグラデーションにするサンプルマクロ
以下のSubプロシージャを実行すると、アクティブなプレゼンテーションの、1枚目のスライド背景がグラデーションになります。
With ActivePresentation.Slides(1)
.FollowMasterBackground = msoFalse
With .Background.Fill
.TwoColorGradient _
Style:=msoGradientHorizontal, _
Variant:=2
.ForeColor.RGB = RGB(255, 204, 255)
.BackColor.RGB = RGB(204, 255, 255)
End With ' .Background.Fill
End With ' ActivePresentation.Slides(1)
End Sub
前述のプロシージャとの違いは、もちろん、まず塗りつぶし設定をグラデーションにしている点です。
With .Background.Fill .TwoColorGradient _ Style:=msoGradientHorizontal, _ Variant:=2
その後、前景色と、
.ForeColor.RGB = RGB(255, 204, 255)
背景色の設定を行っています。
.BackColor.RGB = RGB(204, 255, 255)
サンプルマクロで使用しているオブジェクト式について
「powerpoint slide background.fill」
と検索なさった方は、背景色を設定する部分は、書けていたのではないかと想像しています。
Slide.FollowMasterBackgroundプロパティ
SlideオブジェクトのFollowMasterBackgroundプロパティを使って、
マスターの影響を受けないようにする部分がポイントです。
この設定につづく背景色を指定する各ステートメントは、オブジェクトの階層が深く、プロパティ名と返されるオブジェクト名が異なっている部分もありますので、落ち着いてオブジェクトブラウザーで確認しておくことをおすすめします。
Slide.Backgroundの戻りはShapeRange
まずSlideオブジェクトのBackgroundプロパティで返されるのは、
With ActivePresentation.Slides(1) With .Background.Fill
ShapeRangeオブジェクトです。
ShapeRange.Fillの戻りはFillFormat
そのShapeRangeオブジェクトのFillプロパティで返されるのは、
With .Background.Fill
FillFormatオブジェクトです。
FillFormat.Solidはメソッド
続くSolidは、プロパティっぽい名前ですが,
With .Background.Fill .Solid
FillFormatオブジェクトのメソッドです。
FillFormat.ForeColorの戻りはColorFormat
FillFormatオブジェクトのForeColorプロパティで返されるのは、
With .Background.Fill .Solid .ForeColor.RGB = RGB(255, 255, 204)
ColorFormatオブジェクトです。
FillFormat.TwoColorGradientメソッドの引数名
グラデーションを設定する
With .Background.Fill .TwoColorGradient _ Style:=msoGradientHorizontal, _ Variant:=2
TwoColorGradientメソッドの引数名は、Styleのほうはいいとして、Variantという名前ながら指定するのは整数と、メソッド作成者の苦労が偲ばれます。
- Newer:最背面にAddLine
- Older:セル結合を解除して同じ値を入力するマクロ
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » VBAでスライドの背景色を指定する