Sub inpic2()
'按照图片名称插入图片,自行选定图片文件夹
WithApplication.FileDialog(msoFileDialogFolderPicker)
'利用FileDialog打开文件夹对话框,获取路径
.Title ='请选择要查找的文件夹'
'以下代码是用于判断是否选定了文件夹,打开文件夹对话框,如果点击了打开,则ipath<>0,如果点击了取消,则提示选择正确的文件夹路径,避免用户不选择
If .Show Then
ipath = .SelectedItems(1)
End If
If ipath = 'false' Or Len(ipath)= 0 Then
MsgBox '请选择正确的文件夹路径'
Exit Sub
End If
End With
'以下代码是根据名称插入图片
Dim fs,myfold, myfile, k
Set fs =CreateObject('scripting.filesystemobject')
''建立文件系统对象变量fs
Setmyfold = fs.getfolder(ipath)
''使用GetFolder方法获取文件夹的信息
Setmyfile = myfold.Files
''使用Files属性获取文件夹下所有文件集合
For Eachk In myfile
'循环文件集合中的文件
WithThisWorkbook.Sheets('Sheet1')
'在当前文件的sheet1中
If k<> '' Then
'如果文件不等于空
n =.Range('A:A').Find(k.Name).Row
'在A列查找与图片文件名相同的单元格,获取其行值
.Shapes.AddPicture k, False, True,.Cells(n, 4).Left, .Cells(n, 4).Top, .Cells(n, 4).Width, .Cells(n, 4).Height
''插入图片的属性设定,插入到第N行4列,图片大小为N行4列的单元格大小”
End If
End With
Next
End Sub
补充:AddPicture方法介绍:
expression.AddPicture(FileName,LinkToFile, SaveWithDocument, Left, Top, Width, Height)
表达式.AddPicture(文件名、链接、SaveWithDocument、左侧、顶部、宽度、高度)
表达式一个表示形状对象的变量。
所有参数均为必须
参数LinkToFile和SaveWithDocument的值不能同时为0或'False',但可以同时为空
----------------------------------------
联系客服