问题

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

打开网易新闻 查看更多图片

韩老师从两个不同的要求来解决这个问题:

一:只导出图片,不限定图片命名。

二:导出图片,同时将图片按B列“名称”重命名。

解决方法

一:只导出图片,不限定图片命名

这种导出方式很简单,只要把Excel另存为网页格式(*.htm,*html)就可以了。

选择“文件”菜单“另存为”命令,保存类型选择为“网页(*.htm,*html)”,保存位置默认为与有图片的Excel文件为同一个文件夹,如下图:

这样,会在Excel文件所在文件夹中出现一个与Excel工作簿同名的网页与文件夹:

打开网易新闻 查看更多图片

二:导出图片,同时将图片按B列“名称”重命名

如果导出图片的同时,按照某列相应行单元格值来命名,比如本题要求将图片按B列“名称”重命名,就要用到VBA。

在工作表标签上点击右键,选择“查看代码”:

在代码窗口输入以下程序:

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

如下图:

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

打开网易新闻 查看更多图片

打开文件夹,即是命名后的图片:

这样导出的图片更规范,文件夹内也更整洁干净。

不过,利用VBA导出图片,如果下次还想再次导出图片,该工作簿必须存为“启用宏的工作簿”。

有关图片处理,请参阅