EXCEL的优势在于数据处理和分析,对于图形的处理往往不如PPT和WORD这两个兄弟。前面也讲过例如图形的布尔运算,EXCEL就没有这个功能,反而PPT和WORD 这两个软件都做的很好。今天就讲一下EXCEL的另一个不足:工作表中插入的图片无法另存为单独的文件。 也许你不信,试试就知道了。 先打开一个EXCEL,如下表所示: 点击任意图片,右键,如下:我们找不到另存功能 看看人家Word 看看人家PPT 那么怎么将EXCEL中的图片另存为图片文件呢? 第一种方法:上面其实已经给出了答案:你品,你细品,EXCEL说:这个我不擅长,你去找WORD或PPT吧,你跟谁熟,就找谁帮忙。 第二种方法:也比较简单,将EXCEL另存为网页版文件 找到.files文件夹,发现所有的图片都在这里 第三种方法:VBA Alt+F11打开VBA编辑器,新建模块,输入下列代码: Sub 批量导出图片() Dim shp As Shape With ActiveSheet For Each shp In ActiveSheet.Shapes shp.Copy shp_name = shp.TopLeftCell.Offset(0, -1).Value With .ChartObjects.Add(0, 0, shp.Width, shp.Height).Chart .Parent.Select .Paste .Export ThisWorkbook.Path & "" & shp_name & ".jpg" .Parent.Delete End With Next End With End Sub 按F5运行代码:结果如下:图片被批量导出到该文件所在的文件夹,且名称和单元格匹配。 代码注解: Sub 批量导出图片()'程序名 Dim shp As Shape '定义变量 With ActiveSheet '当前活动工作表 For Each shp In ActiveSheet.Shapes '循环每个图形 shp.Copy ’复制当前图形 shp_name = shp.TopLeftCell.Offset(0, -1).Value '获取图片名称为图片左上角单元格往左偏移一个单元格的内容 With .ChartObjects.Add(0, 0, shp.Width, shp.Height).Chart '插入图表 .Parent.Select ’选择图表 .Paste '粘贴图片 .Export ThisWorkbook.Path & "" & shp_name & ".jpg" ’导出图片到当前文件夹,且命名为单元格的名称 .Parent.Delete '删除图表 End With '与with成对出现 Next '与FOR成对出现 End With '与with成对出现 End Sub '程序结束 |
|