Excel VBA 实例(38)- 批量插入图片并完美匹配单元格大小
有的时候我们在记录班级同学、公司员工的档案信息的时候,会需要插入人物的照片。
里面一张一张的插入照片,还需要手工的将每张图片调整和单元格一样的长宽,相信这个工作量就很赶人~~~
不过还好有VBA!!!
今天这篇文章就来分享一下用VBA帮你快速搞定批量插入图片并完美匹配单元格大小。
问题背景
如下图,我们想实现的效果是,将提前收集准备好的图片插入到表格当中去,姓名就是插入图片的名字。
实操过程
1、提取所有图片的名字
这里我们可以使用之前介绍过的bat方法,新建一个txt文档,将下面的代码复制进去,保存为.bat
dir/B*.*>list.txt
然后将bat文件放入图片所在的文件夹内,双击excel表格怎么均匀调整大小,会自动生成一个list.txt的文档。
这样,我们就提取到了所有图片的名字。
2、用VBA批量插入图片
将上一步的涉及到的所有图片名字都复制到表当中去
然后运行下面的VBA代码
效果演示:
这样图片就自动插入进去了,并且自动将大小调整好和单元格匹配。
觉得不好或者需要更新照片的话,可以点击删除,然后再重新插入。
3、用“查找和替换”功能,将B2列姓名后面的扩展名删除掉。
这样就大功告成。
值得一说的地方
上面的代码里面,图片宽度和列宽值得注意excel表格怎么均匀调整大小,这里说明一下。
VBA里的图片宽度和列宽不是同一个单位excel表格怎么均匀调整大小,至于为啥我也说不清楚,应该是个long 。
我们平常使用也不用纠结这么多,只需要参照永恒君调整好的这个比例就差不多。
如下图,图片宽度:列宽=76:12=6.33
比如,你的表格里面放图片的单元格列宽是18,那么图片宽度需要设置为18*6.33=113.9即可。将代码里的这两个变量修改一下就可以了。
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表本站的观点和立场和对其真实性负责。如需转载,请联系原作者。如果来源标注有误或侵犯了您的合法权益或者其他问题不想在本站发布,来信即删。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。