在采集员工信息或者学生信息的时候,常常需要添加上照片,如果信息量比较大,我们通过插入图片的方式来完成就比较困难,这里我们尝试用宏来解决这个问题。
前期准备工作(包括相关工具或所使用的原料等)
EXCEL软件
制作方法
首先我们需要把照片放到文件夹里面,命名为111,然后把工作表和文件夹111放在同一目录=C:\Documents and Settings\Administrator\桌面\111,工作表的建立形式如图所示。



打开工作表,点击开发工具——宏,打开宏编辑窗口,在宏名称中输入“AutoAddPic”,单击“创建”按钮,打开宏编辑器。



在 Sub AutoAddPic()
Sub
中间输入以下代码,保存后,关闭。
For Each Shp In ActiveSheet.Shapes
If Shp.Type=msoPicture Then Shp.Delete
Next
Dim MyPcName As String
For i=1 To ThisWorkbook.ActiveSheet.UsedRange.Rows.Count
If (ActiveSheet.Cells(i, 1).Value="姓名") Then
MyPcName=ActiveSheet.Cells(i, 2).Value & ".jpg"
ActiveSheet.Cells(i + 1, 2).Select
Dim MyFile As Object
Set MyFile=CreateObject("Scripting.FileSystemObject")
If MyFile.FileExists(ThisWorkbook.Path & "\" & "111" & "\" & MyPcName)=False Then
MsgBox ThisWorkbook.Path & "\" & "111" & "\" & MyPcName & "暂无图片"
Else
ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & "111" & "\" & MyPcName).Select
If
If
Next i


打开工作表,点击开发工具——宏,打开宏编辑窗口,选择AutoAddPic,单击执行,这时候,工作表中就插入了照片。


代码介绍
If (ActiveSheet.Cells(i, 1).Value="姓名") Then
MyPcName=ActiveSheet.Cells(i, 2).Value & ".jpg"
ActiveSheet.Cells(i + 1, 2).Select
Dim MyFile As Object
Set MyFile=CreateObject("Scripting.FileSystemObject")
意思是在(i, 1)中如果单元格内容是“姓名”,在它右边相邻单元格内容是“XXX”,那么在下面的单元格中有以下情况。
ThisWorkbook.Path & "\" & "111" & "\" & MyPcName,其中ThisWorkbook.Path是指该工作表的路径,111是文件夹的名称,
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本文系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
