Excel | 批量导出图片

问题
如下工作表,如何将图片一次导出?

Excel | 批量导出图片

韩老师从两个不同的要求来解决这个问题:
一:只导出图片 , 不限定图片命名 。
二:导出图片,同时将图片按B列“名称”重命名 。


解决方法


一:只导出图片,不限定图片命名
这种导出方式很简单,只要把Excel另存为网页格式(*.htm , *html)就可以了 。
第一步:
选择“文件”菜单“另存为”命令,保存类型选择为“网页(*.htm,*html)” , 保存位置默认为与有图片的Excel文件为同一个文件夹,如下图:
Excel | 批量导出图片

【Excel | 批量导出图片】这样,会在Excel文件所在文件夹中出现一个与Excel工作簿同名的网页与文件夹:
Excel | 批量导出图片

文件夹打开,即是导出的所有的图片:
Excel | 批量导出图片

二:导出图片,同时将图片按B列“名称”重命名
如果导出图片的同时,按照某列相应行单元格值来命名,比如本题要求将图片按B列“名称”重命名,就要用到VBA 。
第一步:
在工作表标签上点击右键 , 选择“查看代码”:
Excel | 批量导出图片

在代码窗口输入以下程序:
Sub Rename()On Error Resume NextMkDir ThisWorkbook.Path & "图片"For Each pic In ShapesIf pic.Type = msoPicture ThenRN = pic.TopLeftCell.Offset(0, -3).Valuepic.CopyWith ActiveSheet.ChartObjects.Add(0, 0, pic.Width, pic.Height).Chart'创建图片.Parent.Select.Paste.Export ThisWorkbook.Path & "图片" & RN & ".jpg".Parent.DeleteEnd WithEnd IfNextMsgBox "导出图片完成!"End Sub


如下图:
Excel | 批量导出图片

点击工具栏中的运行 , 即可将图片导出到文件夹:
Excel | 批量导出图片

打开文件夹,即是命名后的图片:
Excel | 批量导出图片

这样导出的图片更规范,文件夹内也更整洁干净 。
不过,利用VBA导出图片,如果下次还想再次导出图片,该工作簿必须存为“启用宏的工作簿” 。
Excel | 批量导出图片

相关经验推荐