一位粉丝朋友问了一个问题:
如何将工作表的图片批量导出,并重命名为某列对应行的内容?
比如下图:
要将工作表中的图片批量导出,并且重新命名为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文档所在的文件夹中新建一个“图片”文件夹,所以导出的图片实现重命名并保存在该“图片”文件夹中。如下图: