次の方法で共有

EXCEL 図ツール アート効果 をVBAで実行したい

Anonymous
2018-02-01T08:45:47+00:00

お世話になっております。

EXCEL2016にて100枚程度の画像を連続で読み込み、図ツール→ アート効果 にて加工した画像を別名にて保存したいと考えております。

しかし、「図ツール→ アート効果」という部分がVBAでどう書くのか(または書くことができるのか)分からず困っております。

定番の「マクロの記録」でも記録することができず・・・

CommandBars.FindControl(ID:=???).Execute

もしくは、

Application.CommandBars.ExecuteMso(PictureArtisticEffectsGallery)

あたりで出来るかなとも思ったのですが、上手くいかずどなたかお知恵を借りれればと思った次第です。

何卒よろしくお願いいたします。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2018-02-03T03:14:52+00:00

ShapeObjに対象(図)のShapeオブジェクトが格納されているという前提で,下記の様になるかと思います.

【マーカー】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectMarker)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 50    'サイズ

End With

【鉛筆:モノクロ】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectPencilGrayscale)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 50    '鉛筆のサイズ

End With

【鉛筆:スケッチ】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectPencilSketch)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 50    '筆圧

End With

【線画】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectLineDrawing)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 50    '鉛筆のサイズ

End With

【チョーク:スケッチ】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectChalkSketch)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 3     '筆圧

End With

【ペイント:描線】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectPaintStrokes)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 4     '強度

End With

【ペイント:ブラシ】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectPaintBrush)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 5    'ブラシのサイズ

End With

【光彩:デフューズ】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectGlowDiffused)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 7     '強度

End With

【ぼかし】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectBlur)

   .EffectParameters(1).Value = 15    '半径

End With

【パッチワーク】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectLightScreen)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 3     'グリッドサイズ

End With

【水彩:スポンジ】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectWatercolorSponge)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 3     'ブラシのサイズ

End With

【フィルム粒子】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectFilmGrain)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 65    '粒度

End With

【モザイク:バブル】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectMosiaicBubbles)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 35    '筆圧

End With

【ガラス】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectMosiaicBubbles)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 35    '筆圧

End With

【セメント】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectCement)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 35    'ヒビの間隔

End With

【テクスチャライザー】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectTexturizer)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 55    '拡大縮小

End With

【十字模様:エ​ッチング】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectCrisscrossEtching)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 50    '筆圧

End With

【パステル:滑らか】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectPastelsSmooth)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 50    '拡大縮小

End With

【ラップフィルム】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectPlasticWrap)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 3     '滑らかさ

End With

【カットアウト】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectCutout)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 5     '影の数

End With

【白黒コピー】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectPhotocopy)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 5     '詳細

End With

【光彩:輪郭】

With ShapeObj.Fill.PictureEffects.Insert(msoEffectGlowEdges)

   .EffectParameters(1).Value = 0.25  '透明度

   .EffectParameters(2).Value = 7     '滑らかさ

End With

──参考資料──

https://msdn.microsoft.com/en-us/vba/office-shared-vba/articles/pictureeffects-insert-method-office

https://msdn.microsoft.com/en-us/library/office/microsoft.office.core.msopictureeffecttype.aspx

この回答は役に立ちましたか?

7 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

2 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2018-02-05T01:43:15+00:00

    GurikoMさま

    ご回答ありがとうございます!

    まさに意図していた動作が出来ました!

    大変助かりました!

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2018-02-02T06:15:08+00:00

    ​うぉーかー さん、こんにちは。

    マイクロソフト コミュニティのご利用、ありがとうございます。

    Excel 2016 で図ツールのアート効果の動作を VBA で実行したいのですね。

    投稿していただいた内容ですと、基本的な使い方やトラブルの対処法について情報交換を行っているマイクロソフト コミュニティでは、情報が集まりにくいかもしれません。

    せっかくこちらに投稿していただいたのですが、今回の内容は MSDN フォーラム内の VBA フォーラムに投稿されるとアドバイスが集まりやすいと思います。

    Msdn フォーラム - Visual Basic for Application (VBA)

    よろしければ、ご利用くださいね。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません