Shapeに影をつけるには−ShadowFormat

 Shapeに影をつけるにはShapeのShadowプロパティーを使用してShadowFormat
オブジェクトを取得し、各種プロパティーの設定により行います。


 以下のサンプルではセル範囲(B2:G7)に青色の影付きShapeを作成します。
また、セル自体への効果であるかのような外見にするために、Shapeの塗り
つぶし効果を非表示にしています。

Sub CreateShapeWithShadow()

    Dim Sh As Shape
    Dim Rng As Range
    Dim L As Double, T As Double, W As Double, H As Double

    '指定セル範囲にあわせてShapeの配置決め
    Set Rng = ActiveSheet.Range("B2:G7")
    L = Rng.Left: T = Rng.Top: W = Rng.Width: H = Rng.Height

    'Shapeを作成
    Set Sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, L, T, W, H)

    Sh.Fill.Visible = False 'Shapeの塗りつぶし効果を非表示

    'ShadowFormatの取得
    With Sh.Shadow
        .OffsetX = 10 '水平方向
        .OffsetY = -10 '垂直方向
        .ForeColor.RGB = vbBlue '影の塗りつぶし
        .Transparency = 0.5 '透明度
        .Obscured = True
        .Visible = True
    End With

End Sub

※影の水平方向、垂直方向の位置はそれぞれOffsetX,OffsetYプロパティーにより指
 定し、影の移動はIncrementOffsetX,IncrementOffsetYメソッドを使用します。

※影の透明度の設定はTrnasparencyプロパティーに0.0(不透明)から1.0(透明)の
 値を指定します。

※塗りつぶし効果の非表示:(※FillFormatオブジェクトの非表示)
	Sh.Fill.Visible = False
	Sh.Shadow.Obscured = True

Excel97,2000



戻る


Excel Word Access VBA! モーグ