つらつら Excel VBA

私の備忘録です。

【Word VBA】図のエフェクトまとめ

以前まとめた同記事でエフェクト効果の定数対応表が間違っていた上に、図のエフェクト定数を検索するとGoogle検索のトップに出るというやらかしをしてしまい、前の記事は削除しました。

私も他のブログを鵜呑みにしてコピペしただけなんですぅー!なんて言い訳をします。
(msoEffectNoneが効果なしで定数値17なんて少し見れば間違いに気づくだろうに、あぁ~)


図のエフェクト

図のエフェクトは主にアート効果。同じ名前や似た効果に注意。
パラメータはInsert時点で初期値が設定される。
PictureEffectsは1~27をだけを使用する。これ以外を使用するとオートメーションエラーとなり面倒。0もだめ。エラートラップもできなかった。
一例を作ったけどそのままでは動かないので注意。

Dim eff As PictureEffect
For Each eff In shp.Fill.PictureEffects
    If eff.Type = msoEffectMarker Then eff.Delete 'マーカーを事前に削除
Next
With myShape.Fill.PictureEffects
    Set eff = .Insert(msoEffectMarker) 'マーカー
    'eff.EffectParameters(1).Value = pt1 '透明度(0~1)
    'eff.EffectParameters(2).Value = pt2 'サイズ(0~100)
End With


エフェクトのパラメータ

パラメータが2つあるエフェクトと初期値、通常設定できる範囲の一覧。
※全てアート効果。操作上の見た目順に並べた。
エフェクト名param1def1param2def2入力範囲
マーカー透明度0サイズ970~100
鉛筆:モノクロ透明度0鉛筆のサイズ270~100
鉛筆:スケッチ透明度0筆圧220~100
線画透明度0.25鉛筆のサイズ00~100
チョーク:スケッチ透明度0筆圧00~4
ペイント:描線透明度0強度50~10
ペイント:ブラシ透明度0ブラシのサイズ20~10
光彩:デフューズ透明度0強度50~10
パッチワーク透明度0グリッドサイズ40~10
水彩:スポンジ透明度0ブラシのサイズ20~10
フィルム粒子透明度0粒度400~100
モザイク:バブル透明度0筆圧140~100
ガラス透明度0拡大縮小340~100
セメント透明度0ヒビの間隔240~100
テクスチャライザー透明度0拡大縮小340~100
十字模様:エッチング透明度0.75筆圧300~100
パステル:滑らか透明度0拡大縮小340~100
ラップフィルム透明度0滑らかさ50~10
カットアウト透明度0影の数20~6
白黒コピー透明度0.3詳細30~10
光彩:輪郭透明度0.15滑らかさ30~10
明るさ/コントラスト明るさ0コントラスト0-100%~100%


パラメータが1つのエフェクトと初期値一覧。
※主に図の修正。ぼかしはアート効果で唯一パラメータ値が1つ。

エフェクト名param1def1入力範囲
ぼかし半径100~100
シャープネス鮮明度0-100%~100%
色の彩度鮮やかさ10%~400%
色のトーン温度65001500K~11500K


エフェクト効果の定数(修正版)

定数エフェクト名
0msoEffectNoneなし
1msoEffectBackgroundRemoval背景削除
2msoEffectBlurぼかし
3msoEffectBrightnessContrast明るさ/コントラスト
4msoEffectCementセメント
5msoEffectCrisscrossEtching十字模様:エッチング
6msoEffectChalkSketchチョーク:スケッチ
7msoEffectColorTemperature色のトーン
8msoEffectCutoutカットアウト
9msoEffectFilmGrainフィルム粒子
10msoEffectGlassガラス
11msoEffectGlowDiffused光彩:デフューズ
12msoEffectGlowEdges光彩:輪郭
13msoEffectLightScreenパッチワーク
14msoEffectLineDrawing線画
15msoEffectMarkerマーカー
16msoEffectMosiaicBubblesモザイク:バブル
17msoEffectPaintBrushペイント:ブラシ
18msoEffectPaintStrokesペイント:描線
19msoEffectPastelsSmoothパステル:滑らか
20msoEffectPencilGrayscale鉛筆:モノクロ
21msoEffectPencilSketch鉛筆:スケッチ
22msoEffectPhotocopy白黒コピー
23msoEffectPlasticWrapラップフィルム
24msoEffectSaturation色の彩度
25msoEffectSharpenSoftenシャープネス
26msoEffectTexturizerテクスチャライザー
27msoEffectWatercolorSponge水彩:スポンジ


「背景の削除」の初期値

Insert直後に設定された値は4つで「0.1、0.1、0.9、0.9」だった。これは通常のGUI操作では設定できないと思われる値。
おそらく画像に対して外側から追い込む距離のパーセンテージだと考えているが、ソースが見つからない。
別に近々で使う処理でもないので放置。

以上。