龙空技术网

利用VBA代码,如何在工作表中自定义添加图形

VBA语言専攻 647

前言:

当前兄弟们对“vba画图形”大约比较关切,各位老铁们都想要知道一些“vba画图形”的相关内容。那么小编也在网上收集了一些有关“vba画图形””的相关知识,希望同学们能喜欢,姐妹们快快来了解一下吧!

大家好,我们今日继续讲解VBA代码解决方案的第117讲内容:如何在工作表中添加图形。如果需要在工作表中添加图形对象,可以使用AddShape方法,当该方法应用于Shapes对象时,返回一个Shape对象,该对象代表工作表中的新自选图形,语法如下:

expression.AddShape(Type, Left, Top, Width, Height)

参数expression是必须的,返回一个Shapes对象。

参数Type是必须的,指定要创建的自选图形的类型。如下:

msoShapeRectangle 矩形

msoShapeRightTriangle 直角三角形

msoShapeSmileyFace 笑脸

msoShape5pointStar 五角星

参数Left和Top是必须的,以磅为单位给出自选图形边框左上角的位置。

参数Width和Height是必须的,以磅为单位给出自选图形边框的宽度和高度。

下面我们看一下下面的代码。

Sub MynzAddShape()

Dim myShape As Shape '声明对象的类型

On Error Resume Next

Sheets("sheet2").Shapes("myShape").Delete '删除可能名字为myShape的图形对象

Set myShape = Sheets("sheet2").Shapes.AddShape(msoShapeSmileyFace, 40, 40, 280, 160) '添加一个笑脸形状

With myShape

.Name = "myShape" '设置形状的名称

End With

myShape.Select

With Selection.ShapeRange '设置形状的边框线条格式

With .Line

.Weight = 1 '置形状线条粗细

.DashStyle = msoLineSolid '设置形状线条的虚线样式

.Style = msoLineSingle '设置形状填充的透明度

.Transparency = 0

.Visible = msoTrue '设置形状为可见

.ForeColor.SchemeColor = 39 '置形状的前景色

End With

With .Fill '设置形状的内部填充格式

.Transparency = 0 '设置形状内部的透明度

.Visible = msoTrue '设置形状内部为可见

.ForeColor.SchemeColor = 6 '设置形状内部的前景色

End With

End With

End Sub

代码截图:

代码解析:AddShape过程在工作表中添加一个笑脸并设置其外观等属性。

第2行代码声明变量myShape的对象类型。

第3、4行代码删除可能存在的名称为"myShape"的图形对象。

第5行代码使用AddShape添加笑脸

其余的属性设置就不再一一的解释了,请读者看上面的代码注释;

看运行的结果:

如果我们把代码Set myShape = Sheets("sheet2").Shapes.AddShape(msoShapeSmileyFace, 40, 40, 280, 160) 换成:

Set myShape = Sheets("sheet2").Shapes.AddShape(msoShape5pointStar, 40, 40, 280, 160)

点运行:

今日内容回向:

1. 如何添加一个图形?

2 图形的属性是如何设置的?

标签: #vba画图形