6.4 批量插入图片 上一节我们学习了用AddPicture方法插入图片,今天我们来学习如何用这个方法来批量插入图片。 在学习批量插入图片之前,我们先来学习FileDialog属性。它的用法是这样的: Application.FileDialog(FileDialogType) FileDialogType指定FileDialog对象的类型:
在VBA程序里,FileDialog用show来展示: Application.FileDialog(FileDialogType).show 比如我们在程序里录入Application.FileDialog(msoFileDialogFolderPicker).Show,展示后系统会弹出一个对话框,如下图所示: 它会返回一个数值:-1 表示我们已操作 0 表示我们未操作 我们选择后,选取的内容在FileDialog的SelectedItems属性中,可以用for each语句读取出来: 把FileDialog对象赋值给一个变量fd,用For each语句读取选取的内容。 Set fd=Application.FileDialog(msoFileDialogFolderPicker) fd.Show For each ss in fd.SelectedItems ...... Next 也可以象读取数组那样: fd.SelectedItems(1) 读取选择的第一个结果 小程序: 有一组图片,存放在“F:\VBA学习\Nature”目录下,我们准备把它们按图片的名字批量插入到单元格右边的表格里。 Sub 批量插入图片() Set fd = Application.FileDialog(msoFileDialogFolderPicker) fd.Show 文件夹 = fd.SelectedItems(1) For Each ss In Range('a1', Cells(Rows.Count, 1).End(xlUp)) 地址 = 文件夹 & '\' & ss.Value & '.jpg' 左 = ss.Offset(0, 1).Left 顶 = ss.Offset(0, 1).Top 宽 = ss.Offset(0, 1).Width 高 = ss.Offset(0, 1).Height
Next End Sub FileDialog用show展示后,弹出选择文件夹的对话框,选取“F:\VBA学习\Nature”目录,把它赋值给变量“文件夹”,然后用变量“文件夹”加 '\' 加循环到的单元格的值加 '.jpg'形成地址,再获取右移一个单元格的左、顶、宽、高,用AddPicture方法插入图片。程序运行后效果如下: |
|