Sub SetBackgroundEffect(ByVal iXlChartFillEffect As xlChartFillEffect) On Error GoTo hError '--- 将图表设置为三维 oExcelChart.WallsAndGridlines2D = False '--- 背景墙 With oExcelChart.Walls .Border.Weight = xlThin .Border.LineStyle = xlContinuous '--- 特效代码是否在范围之内 If (iXlChartFillEffect > 0 And iXlChartFillEffect < 24) Then .Fill.PresetGradient Style:=1, Variant:=1, _ PresetGradientType:=iXlChartFillEffect Else .Fill.OneColorGradient Style:=1, Variant:=1, Degree:=0.231372549019608 .Fill.ForeColor.SchemeColor = 15 End If End With '--- 底面 With oExcelChart.Floor .Border.Weight = xlHairline .Border.LineStyle = xlAutomatic '--- 特效代码是否在范围之内 If (iXlChartFillEffect > 0 And iXlChartFillEffect < 24) Then .Fill.PresetGradient Style:=1, Variant:=1, _ PresetGradientType:=iXlChartFillEffect Else .Fill.OneColorGradient Style:=1, Variant:=1, Degree:=0.231372549019608 .Fill.ForeColor.SchemeColor = 15 End If End With Exit Sub hError: App.LogEvent Err.Description, vbLogEventTypeError Err.Raise Err.Number, Err.Source, Err.Description End Sub
特效只对三维图表有效。Chart对象包含Walls(背景墙)和Floor(三维图表的底面)两个对象,其中又包含着填充的边界、过渡等细节属性。如有必要的话可以显露并使用这些细节属性。
我们已经提供了实现特殊效果的基本机制,在本文的第一部分也可以看到图表特效的一些例子。对特殊效果来说最重要的一个对象是Fill对象,包括Walls和Floor对象在内的许多构造用户界面的Excel对象都包含Fill对象。PresetGradient()和OneColorGradient()这两个方法的功能分别是用Excel中预定义的过渡效果或颜色填充容器。
本文地址:http://com.8s8s.com/it/it6817.htm