vba:图形基础,姓名导入图片

这篇博客介绍了如何在Excel VBA中使用AddPicture方法来插入和操作图片。通过示例代码,展示了如何插入、删除图片,并提供了遍历工作表中图形的代码段。此外,还提及了Shape对象的不同类型及其属性,如位置、大小等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'Shapes 对象
'指定的工作表上的所有 Shape 对象的集合。
'说明
'每个 Shape 对象都代表绘图层中的一个对象,如自选图形、任意多边形、图片、图表等。

Sub abc()
Dim ob As Shape
n = Sheet1.Shapes.Count
For Each ob In Sheet1.Shapes
    k = k + 1
    ob.Select
    Cells(k + 1, "f") = ob.Name     '图形名称
    Cells(k + 1, "g") = ob.Type     '图形类型
    Cells(k + 1, "h") = ob.Top      '顶端坐标
    Cells(k + 1, "i") = ob.Left     '左端坐标
    Cells(k + 1, "j") = ob.Width    '宽度
    Cells(k + 1, "k") = ob.Height   '高度
Next ob
End Sub

 

Sub 图形插入()
Sheet3.Shapes.AddPicture ThisWorkbook.Path & "\7pic\林志玲.png", _
True, True, 100, 100, 70, 70
End Sub

Sub 图形删除()
For Each shp In Sheet3.Shapes
    shp.Delete
Next shp
End Sub

 注意:

AddPicture 方法

应用于 CanvasShapes 对象的 AddPicture 方法。

在画布上添加一幅图片。返回一个 Shape 对象,该对象代表图片并将其添加至 CanvasShapes 集合。

expression.AddPicture(FileNameLinkToFileSaveWithDocumentLeftTopWidthHeight)

expression 必需。该表达式返回一个 CanvasShapes 对象。

FileNameString 类型,必需。图片的路径和文件名。

LinkToFileVariant 类型,可选。如果为 True,则将图片链接到创建该对象的文件;如果为 False,则将图片作为该文件的独立副本。默认值是 False。

SaveWithDocumentVariant 类型,可选。如果为 True,则将链接的图片与文档一起保存。默认值是 False。

LeftVariant 类型,可选。新图片的左边缘相对于画布的位置,以磅为单位。

TopVariant 类型,可选。新图片的上边缘相对于画布的位置,以磅为单位。

WidthVariant 类型,可选。图片的宽度,以磅为单位。

HeightVariant 类型,可选。图片的高度,以磅为单位。

案例1

Sub 宏1()
For Each shap In Sheet1.Shapes
    If shap.Type <> 8 Then shap.Delete
Next shap
For Each Rng In Range([a2], Cells(Application.CountA(Columns(1)), 1))
    i = ThisWorkbook.Path & "\7pic\" & Rng & ".png"
    Set rngs = Cells(Rng.Row, 2)
    Sheet1.Shapes.AddPicture i, True, True, rngs.Left, rngs.Top, rngs.Width, rngs.Height
Next Rng
End Sub

扩展:

当一个工作表中有多种Shape类型的时候,可以通过Shape.Type属性值返回一个代表形状类型的MsoShapeType数值。通过该数值可知该图形的类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值