最新Excel-VBA常用技巧-第04章.shape(图形)、Chart(图表)对象.doc
《最新Excel-VBA常用技巧-第04章.shape(图形)、Chart(图表)对象.doc》由会员分享,可在线阅读,更多相关《最新Excel-VBA常用技巧-第04章.shape(图形)、Chart(图表)对象.doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料Excel-VBA常用技巧-第04章.shape(图形)、Chart(图表)对象.VBA常用技巧目录第4章 Shape(图形)、Chart(图表)对象技巧1 在工作表中添加图形如果需要在工作表中添加图形对象,可以使用AddShape方法,如下面的代码所示。#001 Sub AddShape()#002 Dim myShape As Shape#003 On Error Resume Next#004 Sheet1.Shapes(myShape).Delete#005 Set myShape = Sheet1.Shapes.AddShape(msoShapeRectangle, 40,
2、120, 280, 30)#006 With myShape#007 .Name = myShape#008 With .TextFrame.Characters#009 .Text = 单击将选择Sheet2!#010 With .Font#011 .Name = 华文行楷#012 .FontStyle = 常规#013 .Size = 22#014 .ColorIndex = 7#015 End With#016 End With#017 With .TextFrame #018 .HorizontalAlignment = -4108#019 .VerticalAlignment = -
3、4108#020 End With#021 .Placement = 3#022 End With#023 myShape.Select#024 With Selection.ShapeRange#025 With .Line#026 .Weight = 1#027 .DashStyle = msoLineSolid#028 .Style = msoLineSingle#029 .Transparency = 0#030 .Visible = msoTrue#031 .ForeColor.SchemeColor = 40#032 .BackColor.RGB = RGB(255, 255, 2
4、55)#033 End With#034 With .Fill#035 .Transparency = 0#036 .Visible = msoTrue#037 .ForeColor.SchemeColor = 41#038 .OneColorGradient 1, 4, 0.23#039 End With#040 End With#041 Sheet1.Range(A1).Select#042 Sheet1.Hyperlinks.Add Anchor:=myShape, Address:=, _#043 SubAddress:=Sheet2!A1, ScreenTip:=选择Sheet2!#
5、044 Set myShape = Nothing#045 End Sub代码解析:AddShape过程在工作表中添加一个矩形并设置其外观等属性。第2行代码声明变量myShape的对象类型。第3、4行代码删除可能存在的名称为“myShape”的图形对象。第5行代码使用AddShape方法在工作表中添加一个矩形。当该方法应用于Shapes对象时,返回一个Shape对象,该对象代表工作表中的新自选图形,语法如下:expression.AddShape(Type, Left, Top, Width, Height)参数expression是必需的,返回一个Shapes对象。参数Type是必需的,指定
6、要创建的自选图形的类型。参数Left和Top是必需的,以磅为单位给出自选图形边框左上角的位置。参数Width和Height是必需的,以磅为单位给出自选图形边框的宽度和高度。第7行代码将新建图形命名为“myShape”,向Shapes集合添加新的图形时,将对新添加的图形赋以默认的名称,若要为图形指定更有意义的名称,可指定其Name属性。第8行到第16行代码为矩形添加文字,并设定其格式。其中第8行代码使用TextFrame 属性和Characters方法返回该矩形的字符区域。应用于Shape对象的TextFrame 属性返回一个TextFrame对象,该对象包含指定图形对象的对齐和定位属性;Cha
7、racters方法返回一个Characters对象,该对象代表某个图形的文本框中的字符区域,语法如下:expression.Characters(Start, Length)参数expression是必需的,返回一个指定文本框内Characters对象的表达式。参数Start是可选的,表示将要返回的第一个字符,如果此参数设置为 1 或被忽略,则Characters方法会返回以第一个字符为起始字符的字符区域。参数Length是可选的,表示要返回的字符个数。如果此参数被忽略,则Characters方法会返回该字符串的剩余部分(由Start参数指定的字符以后的所有字符)。第9行代码为矩形添加文字,应
8、用于Characters对象的Text属性返回或设置对象的文本,为可读写的String类型。第10行到第15行代码设置矩形中文字的属性,应用于Characters对象Font属性返回一个Font对象,该对象代表指定对象的字体属性(字体名称、字体大小、字体颜色等),第11行代码设置字体名称,第12行代码设置字体样式,第13行代码设置字体大小,第14行代码颜色。第17行到第20行代码设定矩形中文字的对齐方式。应用于TextFrame对象的HorizontalAlignment属性返回或设置指定对象的水平对齐方式,可为表格 531所示的XlHAlign常量之一。常量值描述xlHAlignCenter
9、-4108居中xlHAlignCenterAcrossSelection7靠左xlHAlignDistributed-4117分散对齐xlHAlignFill5分散对齐xlHAlignGeneral1靠左xlHAlignJustify-4130两端对齐xlHAlignLeft-4131靠左xlHAlignRight-4152靠右表格 11HorizontalAlignment属性的XlHAlign常量应用于TextFrame对象的VerticalAlignment属性返回或设置指定对象的垂直对齐方式,可为表格 532所示的XlHAlign常量之一。常量值描述xlVAlignCenter-410
10、8居中xlVAlignJustify-4130两端对齐xlVAlignBottom-4107靠下xlVAlignDistributed-4117分散对齐xlVAlignTop-4160靠上表格 12VerticalAlignment属性的XlHAlign常量第21行代码设置矩形大小和位置不随单元格而变,应用于Shape对象的Placement属性返回或设置对象与所在的单元格之间的附属关系,可为表格 533所示的XlPlacement常量之一。常量值描述xlFreeFloating3大小、位置均固定xlMove2大小固定、位置随单元格而变xlMoveAndSize1大小、位置随单元格而变表格 1
11、3XlPlacement常量第24行到第32行代码设置矩形的边框线条格式,应用于ShapeRange集合的Line属性返回一个LineFormat 对象,该对象包含指定图形的线条格式属性。其中第26行代码设置矩形线条粗细,第27行代码设置矩形线条的虚线样式,第28行代码设置矩形填充的透明度,第29行代码设置矩形为可见,第30行代码设置矩形的前景色,第31行代码设置矩形填充背景的颜色。第33行到第38行代码设置矩形的内部填充格式,应用于ShapeRange集合的Fill属性返回FillFormat对象,该对象包含指定的图表或图形的填充格式属性。其中第35行代码设置矩形内部的透明度,第36行代码设
12、置矩形内部为可见,第37行代码设置矩形内部的前景色,第38行代码将矩形内部指定填充设为单色渐变,应用于 FillFormat对象的OneColorGradient方法将指定填充设为单色渐变,语法如下:expression.OneColorGradient(Style, Variant, Degree)其中参数Style是必需的,底纹样式,可为表格 541所示的MsoGradientStyle常量之一。常量值描述msoGradientDiagonalDown4斜下msoGradientDiagonalUp3斜上msoGradientFromCenter7无msoGradientFromCorne
13、r5角部幅射msoGradientFromTitle6中心幅射msoGradientHorizontal1水平msoGradientMixed-2无msoGradientVertical2垂直表格 14MsoGradientStyle常量参数Variant是必需的,渐变变量。取值范围为 1 到 4 之间,分别与“填充效果”对话框中“渐变”选项卡的四个渐变变量相对应。如果GradientStyle 设为 msoGradientFromCenter,则Variant参数只能设为 1 或 2。参数Degree是必需的,灰度。取值范围为 0.0(表示最深)到 1.0(表示最浅)之间。第42、43行代码
14、为矩形对象添加超链接,应用于Hyperlinks对象的Add方法向指定的区域或图形添加超链接,语法如下:expression.Add(Anchor, Address, SubAddress, ScreenTip, TextToDisplay)参数expression是必需的,返回一个Hyperlinks对象。参数Anchor是必需的,超链接的位置。可为Range对象或Shape对象。参数Address是必需的,超链接的地址。参数SubAddress是必需的,超链接的子地址。参数ScreenTip是可选的,当鼠标指针停留在超链接上时所显示的屏幕提示。参数TextToDisplay是可选的,要显示
15、的超链接的文本。运行AddShape过程结果如图 531所示。图 11在工作表中添加图形技巧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 & & Shp.Nam
16、e & .gif#007 Shp.Copy#008 With Sheet1.ChartObjects.Add(0, 0, Shp.Width + 28, Shp.Height + 30).Chart#009 .Paste#010 .Export FileName, gif#011 .Parent.Delete#012 End With#013 End If#014 Next#015 End Sub代码解析:ExportShp过程将Sheet1工作表的所有图片以文件形式导出到同一目录中。第4行代码使用For Each.Next 语句遍历Sheet1工作表中的所有图形。第5行代码判断图形的类型是否
17、为图片,应用于Shape对象的Type属性返回或设置图形类型,可以为表格 541所示的MsoShapeType常量之一。常量值说明msoShapeTypeMixed-2混合型图形msoAutoShape1自选图形msoCallout2没有边框线的标注msoChart3图表msoComment4批注msoFreeform5任意多边形msoGroup6图形组合msoFormControl8窗体控件msoLine9线条msoLinkedOLEObject10链接式或内嵌OLE对象msoLinkedPicture11剪贴画或图片msoOLEControlObject12ActiveX 控件msoPic
18、ture13图片msoTextEffect15艺术字msoTextBox17文本框msoDiagram21组织结构图或其他图示表格 21MsoShapeType常量第6行代码使用字符串变量FileName记录需导出图形的路径和名称。第7行代码复制图形,应用于Shape对象的Copy方法将对象复制到剪贴板。第8行代码使用Add方法在工作表中添加一个图表,应用于ChartObjects对象的Add 方法创建新的嵌入图表,语法如下:expression.Add(Left, Top, Width, Height)参数expression是必需的,返回一个ChartObjects对象。参数Left、参数
19、Top是必需的,以磅为单位给出新对象的初始坐标,该坐标是相对于工作表上单元格A1的左上角或图表的左上角的坐标。参数Width、参数Height是必需的,以磅为单位给出新对象的初始大小。第9行代码使用Paste方法将图形粘贴到新的嵌入图表中,应用于Chart对象的Paste方法将剪贴板中的图表数据粘贴到指定的图表中,语法如下:expression.Paste(Type)参数expression是必需的,返回一个Chart对象。参数Type是可选的的,如果剪贴板中有图表,本参数指定要粘贴的图表信息。可为以下XlPasteType常量之一:xlFormats、xlFormulas或xlAll。默认值
20、为xlAll,如果剪贴板中是数据不是图表,则不能使用本参数。第10行代码使用Export方法将图表导出到同一目录中,应用于Chart对象的Export方法以图形格式导出图表,语法如下:expression.Export(Filename, FilterName, Interactive)其中参数Filename是必需的,被导出的文件的名称。第10行代码删除新建的图表。因为Chart对象是不能使用Delete方法直接删除的,应先使用Parent属性返回指定对象的父对象,然后使用Delete方法删除。技巧3 在工作表中添加艺术字在工作表中插入艺术字,可以使用AddTextEffect方法,如下面的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 Excel VBA 常用 技巧 04 shape 图形 Chart 图表 对象
限制150内