対象:PowerPoint2010, PowerPoint2013, Windows版PowerPoint2016
「pptマクロ 図形を透明にする」
といった検索キーワードで、インストラクターのネタ帳へのアクセスがありました。
FillFormatオブジェクトのTransparencyプロパティに、
「1」を指定すれば、図形の塗りつぶしを透明にできます。
[スポンサードリンク]
課題は、透明にしたい図形がどれか、です。
参考になりそうなSubプロシージャを3つご紹介しておきます。
先頭スライド1つ目の図形の塗りつぶしを透明にするサンプルマクロ
以下のSubプロシージャを実行すると、アクティブなプレゼンテーションの、先頭スライドの、1つ目の図形の塗りつぶしが透明になります。
Sub 先頭スライド1つ目の図形の塗りつぶしを透明に()
On Error GoTo ErrHndl
ActivePresentation.Slides(1).Shapes(1).Fill.Transparency = 1
Exit Sub
ErrHndl:
Select Case VBA.Err.Number
Case -2147188160
MsgBox "先頭スライドには、図形が存在しません。"
Case -2147024809
MsgBox "先頭スライド1つ目の図形には、塗りつぶしの透明度を設定できません。"
Case Else
MsgBox "エラーが発生しました。" & vbCrLf & Err.Number
End Select
End Sub
On Error GoTo ErrHndl
ActivePresentation.Slides(1).Shapes(1).Fill.Transparency = 1
Exit Sub
ErrHndl:
Select Case VBA.Err.Number
Case -2147188160
MsgBox "先頭スライドには、図形が存在しません。"
Case -2147024809
MsgBox "先頭スライド1つ目の図形には、塗りつぶしの透明度を設定できません。"
Case Else
MsgBox "エラーが発生しました。" & vbCrLf & Err.Number
End Select
End Sub
選択スライド1つ目の図形の塗りつぶしを透明にするサンプルマクロ
以下のSubプロシージャを実行すると、選択されているスライドの、1つ目の図形の塗りつぶしが透明になります。
Sub 選択スライド1つ目の図形の塗りつぶしを透明に()
On Error GoTo ErrHndl
ActiveWindow.Selection.SlideRange(1).Shapes(1).Fill.Transparency = 1
Exit Sub
ErrHndl:
Select Case VBA.Err.Number
Case -2147188160
MsgBox "スライドが選択されていないか、図形が存在しません。"
Case -2147024809
MsgBox "選択スライド1つ目の図形には、塗りつぶしの透明度を設定できません。"
Case Else
MsgBox "エラーが発生しました。" & vbCrLf & Err.Number
End Select
End Sub
On Error GoTo ErrHndl
ActiveWindow.Selection.SlideRange(1).Shapes(1).Fill.Transparency = 1
Exit Sub
ErrHndl:
Select Case VBA.Err.Number
Case -2147188160
MsgBox "スライドが選択されていないか、図形が存在しません。"
Case -2147024809
MsgBox "選択スライド1つ目の図形には、塗りつぶしの透明度を設定できません。"
Case Else
MsgBox "エラーが発生しました。" & vbCrLf & Err.Number
End Select
End Sub
選択されている1つ目の図形の塗りつぶしを透明にするサンプルマクロ
以下のSubプロシージャを実行すると、選択されている図形のうち、1つ目の図形の塗りつぶしが透明になります。
Sub 選択されている1つ目の図形の塗りつぶしを透明に()
On Error GoTo ErrHndl
ActiveWindow.Selection.ShapeRange(1).Fill.Transparency = 1
Exit Sub
ErrHndl:
Select Case VBA.Err.Number
Case -2147188160
MsgBox "図形が選択されていません。"
Case -2147024809
MsgBox "選択されている1つ目の図形には、塗りつぶしの透明度を設定できません。"
Case Else
MsgBox "エラーが発生しました。" & vbCrLf & Err.Number
End Select
End Sub
On Error GoTo ErrHndl
ActiveWindow.Selection.ShapeRange(1).Fill.Transparency = 1
Exit Sub
ErrHndl:
Select Case VBA.Err.Number
Case -2147188160
MsgBox "図形が選択されていません。"
Case -2147024809
MsgBox "選択されている1つ目の図形には、塗りつぶしの透明度を設定できません。"
Case Else
MsgBox "エラーが発生しました。" & vbCrLf & Err.Number
End Select
End Sub
サンプルマクロの解説
いずれのSubプロシージャも、
.Fill.Transparency = 1
の部分は同じです。
透明にしたい図形を指定する「.Fill.Transparency = 1」の前の、オブジェクト式(オブジェクトを取得するコード)が、
ActivePresentation.Slides(1).Shapes(1)
ActiveWindow.Selection.SlideRange(1).Shapes(1)
ActiveWindow.Selection.ShapeRange(1)
と、異なっています。
最終更新日時:2019-08-26 10:19
[スポンサードリンク]
- Newer:INDEX関数で空白時に0を表示させない
- Older:〇〇先生はなぜ教えてくれなかったのか?
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » 図形を透明にするPowerPointマクロ