Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » 画像のアート効果を無しにするWordマクロ

画像のアート効果を無しにするWordマクロ

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

画像のアート効果を無しにする、PowerPointマクロExcelマクロをご紹介しました。

Wordマクロもどうぞ。

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

以下のWordマクロで、アクティブページ上に存在する画像のアート効果がない状態にできます。

Sub アクティブページの画像のアート効果を無しにする() 
 ActiveWindow.View.Type = wdPrintView
 
 Dim shp As Shape
 For Each shp In ActiveDocument.Bookmarks("\Page").Range.ShapeRange
 
  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マクロ・Excelマクロと同じです。

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

その外側のFor Each~Next文が異なります。

 Dim shp As Shape
 For Each shp In ActiveDocument.Bookmarks("\Page").Range.ShapeRange

拙著『Excel VBAユーザーのためのWord VBA入門』の「chapter 8. ページを扱うには」で解説しているコード「ActiveDocument.Bookmarks("\Page").Range」を使って、アクティブなページを表すWord.Rangeオブジェクトを取得して、そのShapeRangeオブジェクトに対してFor Each~Nextループを回しています。

印刷プレビューではないモードのときに実行時エラーが発生するため、最初に表示モードを変更しています。

 ActiveWindow.View.Type = wdPrintView
[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » 画像のアート効果を無しにするWordマクロ

「Shape・図形」の記事一覧

検索


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

.