VBA编程过程中可以通过Fillformat对象来进行图形颜色的设置,通常情况下使用也不是很多,但是,此对象应用的熟练会增加数据图形的可视化效果。
下图为应用之后中的颜色效果,通过代码添加背景颜色,如此一来,我们就可以有很多方法来实现一些绚烂的图形,使数据变成一些彩色的图形。
下面看一下,如何实现这个过程。
首先,我们来了解一下什么是FillFormat对象。
FillFormat对象代表了图表的填充格式,可以有纯色、渐变、纹理、图案、图片或半透明填充,通过FillFormat对象的属性就可以很自由地设置填充的格式。
下面通过一段代码来进行演示:
Private Sub Worksheet_Activate()
Dim r As Integer, g As Integer, b As Integer, ci As Integer
Dim myDocument As Worksheet, s As Shape
Set myDocument = Worksheets(1)
For Each s In myDocument.Shapes
ci = VBA.CInt(VBA.Right(s.Name, 1))
Select Case ci
Case 1
r = 255
g = 0
b = 0
Case 2
r = 0
g = 255
b = 0
Case 3
r = 0
g = 0
b = 200
Case 4
r = 210
g = 100
b = 80
End Select
With s.Fill
.Solid '将指定的填充格式设置为均匀的颜色
.ForeColor.RGB = RGB(r, g, b) '设置背景颜色
End With
Next
End Sub
示例中通过一个Shape对象的Fill属性返回FillFormat对象。
如:
dim f as object
Set f=worksheets(1).shape(1).Fill
代码中的 “f” 就是一个FillFormat对象。
理解这一步,之后的操作就安步就般操作即可。
当然,依然要对FillFormat的方法和属性有一个初步了解,具体可以查看下表:
方法 | 属性 |
OneColorGradient | Application |
Patterned | BackColor |
PresetGradient | Creator |
PresetTextured | ForeColor |
Solid | GradientAngle |
TwoColorGradient | GradientColorType |
UserPicture | GradientDegree |
UserTextured | GradientStops |
GradientStyle | |
GradientVariant | |
Parent | |
Pattern | |
PictureEffects | |
PresetGradientType | |
PresetTexture | |
RotateWithObject | |
TextureAlignment | |
TextureHorizontalScale | |
TextureName | |
TextureOffsetX | |
TextureOffsetY | |
TextureTile | |
TextureType | |
TextureVerticalScale | |
Transparency | |
Style | |
Visible |
END