|
楼主 |
发表于 2009-3-3 14:21
|
显示全部楼层
第4部分 Shape(图形)、Chart(图表)对象
技巧55 在工作表中添加艺术字
在工作表中插入艺术字,可以使用AddTextEffect方法,如下面的代码所示。- #001 Sub TextEffect()
- #002 Dim myShape As Shape
- #003 On Error Resume Next
- #004 Sheet1.Shapes("myShape").Delete
- #005 Set myShape = Sheet1.Shapes.AddTextEffect _
- #006 (PresetTextEffect:=msoTextEffect15, _
- #007 Text:="我爱 Excel Home", FontName:="宋体", FontSize:=36, _
- #008 FontBold:=msoFalse, FontItalic:=msoFalse, _
- #009 Left:=100, Top:=100)
- #010 With myShape
- #011 .Name = "myShape"
- #012 With .Fill
- #013 .Solid
- #014 .ForeColor.SchemeColor = 55
- #015 .Transparency = 0
- #016 End With
- #017 With .Line
- #018 .Weight = 1.5
- #019 .DashStyle = msoLineSolid
- #020 .Style = msoLineSingle
- #021 .Transparency = 0
- #022 .ForeColor.SchemeColor = 12
- #023 .BackColor.RGB = RGB(255, 255, 255)
- #024 End With
- #025 End With
- #026 Set myShape = Nothing
- #027 End Sub
复制代码 代码解析:
TextEffect过程在工作表中插入艺术字并设置其格式。
第3、4行代码删除工作表中可能存在的艺术字,以免重复添加。
第5行到第9行代码使用AddTextEffect方法在工作表中插入艺术字,AddTextEffect方法创建艺术字对象。返回一个Shape对象,该对象代表新建的艺术字对象,语法如下:
expression.AddTextEffect(PresetTextEffect, Text, FontName, FontSize, FontBold, FontItalic, Left, Top)
参数expression是必需的,返回一个Shapes对象。
参数PresetTextEffect是必需的,艺术字预置文本效果,可为MsoPresetTextEffect 常量之一,等同于在工作表中插入艺术字时的样式选项卡,如图所示。
参数Text是必需的,艺术字对象中的文字。
参数FontName是必需的,艺术字对象中所用的字体名称。
参数FontSize是必需的,以磅为单位给出艺术字对象中所用的字体大小。
参数FontBold是必需的,在艺术字中要加粗的字体。
参数FontItalic是必需的,在艺术字中要倾斜的字体。
参数Left和参数Top是必需的,相对于文档的左上角、顶部,以磅为单位给出艺术字对象边框左上角的位置。
第11行代码将艺术字对象重命名为“myShape”。
第12行到第16行代码设置艺术字对象的填充格式。其中第13行代码将填充格式设置为均一的颜色,应用于FillFormat 对象的Solid方法将指定的填充格式设置为均一的颜色,可用本方法将带有渐进色、纹理、图案或背景的填充格式转换为单色的填充格式。第14行代码设置填充的颜色。第15行代码设置填充的透明度。
第17行到第24行代码设置艺术字对象的线条格式属性。其中第18行代码设置线条粗细,第19行代码设置线条虚线样式,第20行代码设置线条区域的样式,第21行代码设置线条的透明度,第22行代码设置前景色,第23行代码设置填充背景的颜色。
运行TextEffect过程工作表中如图所示。
|
|