最近のPowerPointでは、[図の形式]タブ-[アート効果]から、
画像をぼかしたり、鉛筆画っぽくしたり、アート効果を設定できます。
このアート効果の設定されている画像が複数存在するときに、それらを選択してアート効果を解除しようとしても、複数画像が選択された時点でコマンドが使用不可の状態になってしまいます。
画像を1つずつ順番に選択して、アート効果なしに設定するのが面倒だったので、PowerPointマクロを作成しました。
画像をアート効果なしにするサンプルマクロ
スライドを選択しておいてから以下のマクロを実行すると、そのスライド上に存在する画像がアート効果なしになります。
On Error GoTo ErrHndl
Dim shp As Shape
For Each shp In ActiveWindow.Selection.SlideRange.Shapes
If shp.Type = msoPicture Then
Dim efct As PictureEffect
For Each efct In shp.Fill.PictureEffects
efct.Delete
Next
End If
Next
ErrHndl:
MsgBox "スライドを選択しておいてから実行してください。"
Err.Clear
End Sub
サンプルマクロで行っている処理
アクティブスライド上の全Shapeに対してFor Each~Nextループを回して、
Dim shp As Shape For Each shp In ActiveWindow.Selection.SlideRange.Shapes
Shapeが画像だったときに、
If shp.Type = msoPicture Then
PictureEffectsコレクションに対してFor Each~Nextループを回して、PictureEffect.Deleteメソッドで、アート効果をなしの状態にしています。
Dim efct As PictureEffect For Each efct In shp.Fill.PictureEffects efct.Delete
ちなみにPictureEffectsコレクションとPictureEffectオブジェクトは、PowerPointライブラリではなくOfficeライブラリに属しています。
最終更新日時:2024-10-31 15:38
- Newer:画像のアート効果を無しにするExcelマクロ
- Older:PowerPoint VBAでスライドを移動する
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » 画像 » 画像をアート効果なしにするPowerPointマクロ