人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Power PointのVBAに関する質問です。

VBAによって、
あるシェイプ(たとえば円)をダブルクリックして、
塗りつぶし効果でグラデーションをかけたいのです。

そのとき、透過性の開始値を0%、終了値を100%にしたいのですが、
それはどの値をいじくればいいのでしょうか?

.Fill.Transparency = 0としてもうまくいかないようなのですが・・・。

●質問者: lionfan
●カテゴリ:コンピュータ
✍キーワード:point POWER VBA グラデーション ダブルクリック
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kn1967
●100ポイント ベストアンサー

透過はオートシェイプ全体に対してしか設定できないので、

オートシェイプをアニメーションさせるといったような別の方法で見せ方を工夫してみてください。

◎質問者からの返答

kn1967様、ありがとうございます!!

できないとわかっただけで大助かりです。


2 ● Mook
●65ポイント

判らないときには、マクロの記録が役に立つと思います。

グラデーションに関しては、下記のプロパティを使用します。

単色グラデーション:OneColorGradient

2色グラデーション:TwoColorGradient

Sub DrawSample()
 With ActiveWindow.Selection.SlideRange.Shapes
 With .AddShape(msoShapeRectangle, 20#, 20#, 570#, 210#)
 .Fill.TwoColorGradient msoGradientVertical, 1
 .Fill.ForeColor.RGB = RGB(64, 64, 200)
 .Fill.BackColor.RGB = RGB(200, 200, 255)
 .Fill.TwoColorGradient msoGradientHorizontal, 1
 End With
 With .AddShape(msoShapeOval, 50#, 50#, 150#, 150#)
 .Fill.TwoColorGradient msoGradientVertical, 1
 .Fill.ForeColor.RGB = RGB(128, 255, 128)
 .Fill.OneColorGradient msoGradientVertical, 1, 1
 End With
 With .AddShape(msoShapeOval, 220#, 50#, 150#, 150#)
 .Fill.TwoColorGradient msoGradientVertical, 1
 .Fill.ForeColor.RGB = RGB(255, 255, 128)
 .Fill.OneColorGradient msoGradientVertical, 1, 1
 End With
 With .AddShape(msoShapeOval, 390#, 50#, 150#, 150#)
 .Fill.TwoColorGradient msoGradientVertical, 1
 .Fill.ForeColor.RGB = RGB(255, 128, 128)
 .Fill.OneColorGradient msoGradientVertical, 1, 1
 End With
 End With
End Sub

MS の説明にもありますが、OneColorGradientの第2引数が明度を表すので、

白のときは1, 黒のときは0を指定します。

◎質問者からの返答

Mook様、ありがとうございました。きれいな信号機でした。

今回は透過性についてでしたが、グラデーションについても学びたかったので、とても参考になりました。ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ