VBA常用技巧代码解析
msoGradientFromCenter msoGradientFromCorner msoGradientFromTitle msoGradientHorizontal msoGradientMixed msoGradientVertical 7 5 6 1 -2 2 无 角部幅射 中心幅射 水平 无 垂直 表格 1-4 MsoGradientStyle常量
参数Variant是必需的,渐变变量。取值范围为 1 到 4 之间,分别与“填充效果”对话框中“渐变”选项卡的四个渐变变量相对应。如果GradientStyle 设为 msoGradientFromCenter,则Variant参数只能设为 1 或 2。
参数Degree是必需的,灰度。取值范围为 0.0(表示最深)到 1.0(表示最浅)之间。 第42、43行代码为矩形对象添加超链接,应用于Hyperlinks对象的Add方法向指定的区域或图形添加超链接,语法如下:
expression.Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay)
参数expression是必需的,返回一个Hyperlinks对象。
参数Anchor是必需的,超链接的位置。可为Range对象或Shape对象。 参数Address是必需的,超链接的地址。 参数SubAddress是必需的,超链接的子地址。
参数ScreenTip是可选的,当鼠标指针停留在超链接上时所显示的屏幕提示。 参数TextToDisplay是可选的,要显示的超链接的文本。 运行AddShape过程结果如图 1-1所示。
图 1-1 在工作表中添加图形
6
VBA常用技巧代码解析
技巧2 导出工作表中的图片
有时需要将工作表中的图形对象保存为单独的图像文件,可以使用Export方法将工作表中的图片以文件形式导出,如下面的代码所示。
#001 Sub ExportShp() #002 Dim Shp As Shape #003 Dim FileName As String
#004 For Each Shp In Sheet1.Shapes #005 If Shp.Type = msoPicture Then
#006 FileName = ThisWorkbook.Path & \#007 Shp.Copy
#008 With Sheet1.ChartObjects.Add(0, 0, Shp.Width + 28, Shp.Height + 30).Chart
#009 .Paste
#010 .Export FileName, \#011 .Parent.Delete #012 End With #013 End If #014 Next #015 End Sub
代码解析:
ExportShp过程将Sheet1工作表的所有图片以文件形式导出到同一目录中。 第4行代码使用For Each...Next 语句遍历Sheet1工作表中的所有图形。
第5行代码判断图形的类型是否为图片,应用于Shape对象的Type属性返回或设置图形类型,可以为表格 2-1所示的MsoShapeType常量之一。
常量 msoShapeTypeMixed msoAutoShape msoCallout msoChart msoComment msoFreeform 值 -2 1 2 3 4 5 说明 混合型图形 自选图形 没有边框线的标注 图表 批注 任意多边形 7
VBA常用技巧代码解析
msoGroup msoFormControl msoLine msoLinkedOLEObject msoLinkedPicture msoOLEControlObject msoPicture msoTextEffect msoTextBox msoDiagram 6 8 9 10 11 12 13 15 17 21 图形组合 窗体控件 线条 链接式或内嵌OLE对象 剪贴画或图片 ActiveX 控件 图片 艺术字 文本框 组织结构图或其他图示 表格 2-1 MsoShapeType常量
第6行代码使用字符串变量FileName记录需导出图形的路径和名称。 第7行代码复制图形,应用于Shape对象的Copy方法将对象复制到剪贴板。 第8行代码使用Add方法在工作表中添加一个图表,应用于ChartObjects对象的Add 方法创建新的嵌入图表,语法如下:
expression.Add(Left, Top, Width, Height)
参数expression是必需的,返回一个ChartObjects对象。
参数Left、参数Top是必需的,以磅为单位给出新对象的初始坐标,该坐标是相对于工作表上单元格A1的左上角或图表的左上角的坐标。
参数Width、参数Height是必需的,以磅为单位给出新对象的初始大小。
第9行代码使用Paste方法将图形粘贴到新的嵌入图表中,应用于Chart对象的Paste方法将剪贴板中的图表数据粘贴到指定的图表中,语法如下:
expression.Paste(Type)
参数expression是必需的,返回一个Chart对象。
参数Type是可选的的,如果剪贴板中有图表,本参数指定要粘贴的图表信息。可为以下XlPasteType常量之一:xlFormats、xlFormulas或xlAll。默认值为xlAll,如果剪贴板中是数据不是图表,则不能使用本参数。
第10行代码使用Export方法将图表导出到同一目录中,应用于Chart对象的Export方法以图形格式导出图表,语法如下:
expression.Export(Filename, FilterName, Interactive)
其中参数Filename是必需的,被导出的文件的名称。
第10行代码删除新建的图表。因为Chart对象是不能使用Delete方法直接删除的,应先使用Parent属性返回指定对象的父对象,然后使用Delete方法删除。
8
VBA常用技巧代码解析
技巧3 在工作表中添加艺术字
在工作表中插入艺术字,可以使用AddTextEffect方法,如下面的代码所示。
#001 Sub TextEffect()
#002 Dim myShape As Shape #003 On Error Resume Next
#004 Sheet1.Shapes(\
#005 Set myShape = Sheet1.Shapes.AddTextEffect _ #006 (PresetTextEffect:=msoTextEffect15, _
#007 Text:=\我爱 Excel Home\宋体\#008 FontBold:=msoFalse, FontItalic:=msoFalse, _ #009 Left:=100, Top:=100) #010 With myShape
#011 .Name = \#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
代码解析:
9
VBA常用技巧代码解析
TextEffect过程在工作表中插入艺术字并设置其格式。
第3、4行代码删除工作表中可能存在的艺术字,以免重复添加。
第5行到第9行代码使用AddTextEffect方法在工作表中插入艺术字,AddTextEffect方法创建艺术字对象。返回一个Shape对象,该对象代表新建的艺术字对象,语法如下:
expression.AddTextEffect(PresetTextEffect, FontBold, FontItalic, Left, Top)
Text,
FontName,
FontSize,
参数expression是必需的,返回一个Shapes对象。
参数PresetTextEffect是必需的,艺术字预置文本效果,可为MsoPresetTextEffect 常量之一,等同于在工作表中插入艺术字时的样式选项卡,如图 3-1所示。
图 3-1 艺术字样式
参数Text是必需的,艺术字对象中的文字。
参数FontName是必需的,艺术字对象中所用的字体名称。
参数FontSize是必需的,以磅为单位给出艺术字对象中所用的字体大小。 参数FontBold是必需的,在艺术字中要加粗的字体。 参数FontItalic是必需的,在艺术字中要倾斜的字体。
参数Left和参数Top是必需的,相对于文档的左上角、顶部,以磅为单位给出艺术字对象边框左上角的位置。
第11行代码将艺术字对象重命名为“myShape”。
第12行到第16行代码设置艺术字对象的填充格式。其中第13行代码将填充格式设置为均一的颜色,应用于FillFormat 对象的Solid方法将指定的填充格式设置为均一的颜色,可用本方法将带有渐进色、纹理、图案或背景的填充格式转换为单色的填充格式。第14行代码设置填充的颜色。第15行代码设置填充的透明度。
10
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Excel VBA常用技巧 第04章 shape及Chart对象(2)在线全文阅读。
相关推荐: