一位粉丝朋友问了一个问题:

如何将工作表的图片批量导出,并重命名为某列对应行的内容?

比如下图:

要将工作表中的图片批量导出,并且重新命名为B列对应的名称。

VBA实现

在VBA代码窗口中输入如下代码:

Sub Rename() On Error Resume Next MkDir ThisWorkbook.Path & "图片" For Each pic In Shapes If pic.Type = msoPicture Then RN = pic.TopLeftCell.Offset(0, -3).Value pic.Copy With ActiveSheet.ChartObjects.Add(0, 0, pic.Width, pic.Height).Chart '创建图片 .Parent.Select .Paste .Export ThisWorkbook.Path & "图片" & RN & ".jpg" .Parent.Delete End With End If Next MsgBox "导出图片完成!" End Sub

如下图:

在工作表中添加表单控件,右键指定宏Rename,如下两图:

点击控件,即可实现在该EXCEL文档所在的文件夹中新建一个“图片”文件夹,所以导出的图片实现重命名并保存在该“图片”文件夹中。如下图:

如果不知道控件怎么插入,怎么指定宏,请参考 。

---------------------------------