6.5 AddShape方法 Shapes.AddShape方法可以在指定的位置插入图形。我们先看一下它的语法结构: AddPicture(Type、Left、Top、Width、Height) 用文字代替各参数就是: AddPicture(类型、左、顶、宽、高) AddShape方法的使用与AddPicture方法类似,其中类型表示要增加什么样的图形。 继续使用上一节的案例,在插入图片前,先在单元格里插入一个心形的图形,然后在图形里再填充图片。本次我们不再用FileDialog属性来选择文件夹,而是直接把图片存放位置赋值给“地址”变量。 Sub 插入图形() For Each ss In Range('a1', Cells(Rows.Count, 1).End(xlUp)) 地址 = 'F:\VBA学习\Nature\' & ss.Value & '.jpg' 左 = ss.Offset(0, 1).Left 顶 = ss.Offset(0, 1).Top 宽 = ss.Offset(0, 1).Width 高 = ss.Offset(0, 1).Height
Next End Sub 先用AddShape方法插入一个msoShapeHeart心形图形,然后再图形里填充指定位置的图片。 程序运行后效果如下: 要插入什么样的图形的参数可以通过录制宏的方式获得。比如我们通过录制新宏的方式插入以下图形: 通过查看代码就可以看到每个图形所对应的参数。 Sub Macro1() ActiveSheet.Shapes.AddShape Type:=msoShapeSun, Left:=226.5, Top:=65.25, Width:=158.25, Height:=111.75 .Select ActiveSheet.Shapes.AddShape Type:=msoShapeCloud, Left:=245.25, Top:=219, Width:=122.25, Height:=120 ActiveSheet.Shapes('云形 4').Select ActiveSheet.Shapes.AddShape Type:=msoShapeLeftUpArrow, Left:=465.75, Top:=75, Width:=108, Height:=94.5 ActiveSheet.Shapes('直角双向箭头 5').Select ActiveSheet.Shapes.AddShape Type:=msoShapeCan, Left:=461.25, Top:=224.25, Width:=96.75, Height:=108.75 ActiveSheet.Shapes('圆柱形 6').Select End Sub 在图形中填充图片用到了Shapes对象的ShapeRange.Fill属性,它返回一个FillFormat对象,该对象包含指定图形的填充格式属性。本案例我们用图片来填充,所以代码为 |
|