分享

在Excel档案中批量插入员工照片 | VBA实例教程

 gblhp 2015-02-16

除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www./cat4/242.html,VBA交流群273624828。

今天来讲一下利用VBA在Excel表格中批量插入图片的方法。现在的需求是这样的,我有一个工作簿,里面有许多工作表,每个工作表都是一个学员的档案,现在我要在每个工作表的相应位置插入员工的照片。工作表很多,需要利用VBA自动插入。员工的照片是以员工姓名命名的,下面我们来看代码:

Sub ZhaoPian()
Dim target, sht, rn, mypath, shp
For Each sht In Sheets      '遍历每一个工作表
sht.Activate                '激活工作表
For Each shp In sht.Shapes  '对该工作表中的每个图形对象
If shp.Type = 11 Then   '如果是图片
shp.Delete          '删除
End If
Next
Set rn = sht.Range("o3:q7") '定位要插入图片的位置
mypath = ThisWorkbook.Path & "\" & sht.Name & ".jpg"  '定位相应图片的路径
On Error Resume Next
sht.Shapes.AddPicture mypath, True, True, rn.Left, rn.Top, rn.Width, rn.Height  '插入图片并定义位置大小
Next
End Sub

在本程序中我们需要遍历每个工作表,还需要遍历每个工作表中的图片对象,程序开始之前要将先前插入的图片删除,否则你新插入的图片会和之前的叠加,导致文件越来越大。程序中我们用rn来定位插入照片的位置,在文档中是一个合并单元格,但是在程序中我们要写全O3:Q7,不能只写O3。这里插入图片我们用的是AddPicture方法,定位位置的时候用的是rn的左边界、上边界、宽度和高度,这样插入的照片就完全和我们想要的位置重合了。

本节示例文件下载地址:http://pan.baidu.com/s/1kTp7f6n

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多