excel 批量另存为 图片

来源:百度知道 编辑:UC知道 时间:2024/07/04 10:43:30
excel中的图转存为的图片,我是通过将文件另存为html,生成图片。但是每次自动转存为一大一小两个图,其中小图为标准图,我只需要小图。
因为excel文件中有四百多个图,而转存有600多图,我重新删除和重命名工作量太大,还易出错
所以我想每种图片只保存一个,无论JPG、GIF、PNG都行,请教如何设置,不论大图还是小图

在网上看到,有人曾设置成只有一个大图,请教有什么方法,我设了N次,400张图都是保存在600多图左右
怎么才能设置成只保存一个小图呢?
或者只保存一个大图

最后再强调一下就是我原来表中有400图,我要求另存为中也是400图,一张不能多,一张不能少
不然后面没法批量更名

用2007版本的文件保存为xlsx,然后把扩展名改成cab,再解压看看
cab解压后的 \xl\media目录只有一张图

给你个宏代码,运行即可。

Sub 导出图形到硬盘()
If ActiveSheet.ProtectContents Then MsgBox "工作表已保护,本程序拒绝执行!", 64, "提示": Exit Sub
If ActiveWorkbook.Path = "" Then GoTo err
Dim i As Byte
For i = 1 To ActiveSheet.Shapes.Count
ActiveSheet.Shapes(i).Select
If TypeName(Selection) = "ChartObject" Then
Selection.Chart.Export ActiveWorkbook.Path & "\tmp" & i & ".jpg"
Else
Selection.Copy
With ActiveSheet.ChartObjects.Add(0, 0, Selection.Width, Selection.Height).Chart
.Paste
.Export ActiveWorkbook.Path & "\tmp" & i & ".jpg"
.Parent.Delete
End With
End If
Next i
Shell "EXPLORER.EXE " & ActiveWorkbook.Path, vbNormalFocus
End
err:
MsgBox "请先将工作簿存盘!", 64, "提示"
End Sub