VBAによって、
あるシェイプ(たとえば円)をダブルクリックして、
塗りつぶし効果でグラデーションをかけたいのです。
そのとき、透過性の開始値を0%、終了値を100%にしたいのですが、
それはどの値をいじくればいいのでしょうか?
.Fill.Transparency = 0としてもうまくいかないようなのですが・・・。
透過はオートシェイプ全体に対してしか設定できないので、
オートシェイプをアニメーションさせるといったような別の方法で見せ方を工夫してみてください。
kn1967様、ありがとうございます!!
できないとわかっただけで大助かりです。
判らないときには、マクロの記録が役に立つと思います。
グラデーションに関しては、下記のプロパティを使用します。
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様、ありがとうございました。きれいな信号機でした。
今回は透過性についてでしたが、グラデーションについても学びたかったので、とても参考になりました。ありがとうございます。
kn1967様、ありがとうございます!!
できないとわかっただけで大助かりです。