示例代码如下: Sub insertPic() Dim i As Integer Dim FilPath As String Dim rng As Range Dim s As String With Sheet1 For i = 3 To .Range("a65536").End(xlUp).Row FilPath = ThisWorkbook.Path & "¥" & .Cells(i, 1).Text & ".jpg" If Dir(FilPath) <> "" Then .Pictures.Insert(FilPath).Select Set rng = .Cells(i, 3) With Selection .Top = rng.Top + 1 .Left = rng.Left + 1 .Width = rng.Width - 1 .Height = rng.Height - 1 End With Else s = s & Chr(10) & .Cells(i, 1).Text End If Next .Cells(3, 1).Select End With If s <> "" Then MsgBox s & Chr(10) & "没有照片!" End If End Sub 代码解析: insertPic过程使用 Insert 方法在工作表中插入图片。 第7行代码开始 For...Next循环,循环的终值由工作表中A列单元格的行数所决定。 第8行代码字符串变量FilPath保存A列名称单元格所对应的图片文件的路径和文件名,本例中图片文件的文件名应和A列中的名称一致。 第9行到第11行代码使用Dir函数在同一文件夹中查找A列单元格中的名称相对应的图片文件,如果对应的图片文件存在则使用Insert方法将图片插入到工作表中,并将C列的单元格赋给变量rng。 Dir函数返回一个String,用以表示一个文件名、目录名或文件 夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。如 果已没有合乎条件的文件,则Dir函数会返回一个零长度字符串 ("")。 第12行到第17行代码,当图片片插入到工作表时其实是插入到活 动单元格的,此时需设置图片的Top属性和Left属性将图片移动到C列 对应的单元格中,并设置其Width属性和Height属性使其适应所在单元格的大小。 第18、19行代码如果在同一文件夹中没有与A列单元格对应的图片文件,则使用字符串变量s保存没有图片文件的名称。 第24行到第26行代码如果字符串变量s不等于空白说明文件夹中缺少图片文件,使用消息框提示。
|
|