Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » 画像のアート効果を無しにするExcelマクロ

動作検証バージョン:Windows 11 Home + 64bit Excel バージョン 2411(ビルド18217.20000クイック実行)ベータチャネル

画像のアート効果を解除するPowerPointマクロをご紹介しました。

アート効果を表すPictureEffectsコレクション&PictureEffectオブジェクトは、Officeライブラリに含まれますから、よく似たコードでExcelマクロも作れます。

[スポンサードリンク]

画像のアート効果を無しにするサンプルマクロ

以下のExcelマクロで、アクティブシートの画像のアート効果を無しにできます。

Sub アクティブシートの画像をアート効果無しにする()
 Dim shp As Shape
 For Each shp In ActiveSheet.Shapes
  If shp.Type = msoPicture Then
 
   Dim efct As PictureEffect
   For Each efct In shp.Fill.PictureEffects
    efct.Delete
   Next
 
  End If
 Next
End Sub

サンプルマクロで行っている処理

If文と、その内部のFor Each~Nextループは、PowerPointマクロと同じコードです。

  If shp.Type = msoPicture Then
  
   Dim efct As PictureEffect
   For Each efct In shp.Fill.PictureEffects
    efct.Delete
   Next

Shapeオブジェクトは、Excelライブラリですが、PictureEffectオブジェクトはOfficeライブラリに属していますから、PowerPointマクロと同じオブジェクトを利用していることになります。

その外側については、ActiveSheetプロパティがあるので、

 For Each shp In ActiveSheet.Shapes

以下のように書く必要のあるPowerPointマクロより

 For Each shp In ActiveWindow.Selection.SlideRange.Shapes

シンプルです。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » 画像のアート効果を無しにするExcelマクロ

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


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

.