中国投资网 百科 excel vba 打开指定图片(excel根据名称导入图片)

excel vba 打开指定图片(excel根据名称导入图片)

首先,前提条件

在Excel的单元格中,已经输入了人名,在人名的下方,有一个空的单元格,用来插入相应的图片。

一样。比如B1是名字,而B3是根据张三的名字自动将张三的照片插入B3。诸如此类。

这必须使用VBA来完成。

同时人的照片所在的文件夹和Excel工作簿在同一个路径,比如在下图所示的位置。

另外,每张员工照片的名字都是以员工的名字命名的。

像这样的问题有一定的规律,所以可以由VBA来完成。

二、实施方法

打开你的Excel,然后执行菜单操作:工具宏宏,会弹出对话框。

在上图中,其中是宏名,输入AutoAddPic,然后点击“创建”按钮,弹出代码输入窗口。

请将代码写完整,否则会出现异常。为了方便大家的学习,下面的代码写成如下,以供参考:

在自动插入图片之前,请删除所有图片。

对于ActiveSheet中的每个Shp。形状

如果Shp。Type=msoPicture然后Shp。删除

然后

Dim MyPcName作为字符串

对于本工作簿,i=1。active sheet . used range . rows . count

If (ActiveSheet。单元格(I,1)。Value=' name ')然后

MyPcName=ActiveSheet。单元格(I,2)。价值。' gif '

“MsgBox”图片的完整路径是“ThisWorkbook”。路径'员工照片' MyPcName。

Activesheet.cells (i2,2)。选择要插入图片的单元格作为目标。

将我的文件作为对象变暗

Set MyFile=CreateObject('脚本。file system object’)

my file . file exists(this workbook . path ' employee photos ' mypc name)=False Then

Gboxthisworkbook.path '员工照片' MyPcName '图片不存在'

其他

在所选单元格中插入图片。

active sheet . pictures . insert(this workbook . path ' employee photos ' mypc name)。挑选

如果…就会结束

如果…就会结束

接下来我

编写完代码后,单击窗口中的保存,然后关闭代码窗口并返回Excel窗口。

接下来,执行菜单操作:工具宏宏。

选择上面创建的宏名AutoAddPic,然后单击“执行”按钮。这样,Excel会根据每个名字找到对应的照片,并将照片插入到每个人对应的单元格中。

第三,知识扩展

此工作簿。active sheet . used range . rows . count这一行代码的意义是获取工作表中有效数据的最大行数。

If (ActiveSheet。单元格(I,1)。Value=' name ')确定第一列中每一行的内容是否为单词“name”。如果是名字就找图插,否则就不要找了。

MyPcName=ActiveSheet。单元格(I,2)。价值。' gif '获取每个人的照片名,比如Aoyama.gif。

此工作簿。Path '员工照片' MyPcName每个人拍照的路径是一个完整的绝对路径,而不是相对路径。

Activesheet.cells (i2,2)。选择要插入图片的单元格作为目标,即选择要插入图片的单元格。

active sheet . pictures . insert(this workbook . path ' employee photos ' mypc name)。选择以在所选单元格中插入图片。

my file . file exists(this workbook . path ' employee photos ' mypc name)=False然后判断员工照片是否存在。

本文来自网络,不代表本站立场,转载请注明出处:https:

excel,vba,打开指定图片(excel根据名称导入图片)

中国投资网后续将为您提供丰富、全面的关于excel,vba,打开指定图片(excel根据名称导入图片)内容,让您第一时间了解到关于excel,vba,打开指定图片(excel根据名称导入图片)的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。