OneColorGradient メソッド
OneColorGradientメソッドは、FillFormatオブジェクトのメソッドで、指定された塗りつぶしに1色のグラデーションを設定するために使用されます。このメソッドは、次の構文で使用されます: objFillFormat.OneColorGradient (Style, Variant, Degree)
。
Style
引数は、MsoGradientStyle列挙型によって指定されるグラデーション塗りつぶしスタイルを指定します。msoGradientHorizontal
: グラデーションは左から右にかけて変化します(値:1)。msoGradientVertical
: グラデーションは上から下にかけて変化します(値:2)。msoGradientDiagonalUp
: グラデーションは左下から右上にかけて変化します(値:3)。msoGradientDiagonalDown
: グラデーションは左上から右下にかけて変化します(値:4)。msoGradientFromCorner
: グラデーションは左上角から変化します(値:5)。msoGradientFromTitle
: グラデーションはタイトルから変化します(値:6).msoGradientFromCenter
: グラデーションは中心から変化します(値:7).
Variant
引数は、塗りつぶしのグラデーションのバリエーションを指定します。[塗りつぶし効果]ダイアログボックスの[グラデーション]タブの4つのバリエーションに対応する1~4の値が使用できます。Degree
引数は、塗りつぶしのグラデーションの明度を指定します。使用できる範囲は、0.0(暗)~1.0(明)の値です。
サンプルコード
指定された名称の図形(この場合は「正方形/長方形 1」)に対してグラデーション塗りつぶしを適用するコードです。
Sub ApplyOneColorGradientToShape()
Dim shp As Shape
'指定された名前の図形を取得
Set shp = ActiveSheet.Shapes("正方形/長方形 1")
'シェイプに一色グラデーションを適用
With shp.Fill
.OneColorGradient Style:=msoGradientHorizontal, Variant:=1, Degree:=0.9
End With
End Sub
注意: 図形名 “正方形/長方形 1” は既存の図形に対して適切な名前でなければならず、存在しない場合はエラーになります。また、図形に塗りつぶしを適用できない場合(例えば、テキストボックスやラインなど)もエラーになります。