|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 香川群子 于 2014-12-30 09:44 编辑
给你写了个单元格区域内容输出为jpg图片的过程代码,你可以自己修改示例宏代码自己灵活调用。- Sub test()
- Call RangeToPic(Range("A1:D5")) '直接输入要输出的区域……必须有Range()
- Call RangeToPic(Selection) '按当前选中的区域
- Call RangeToPic(Application.InputBox("Select Range", Type:=8)) '出现对话框选择区域
- End Sub
- Sub RangeToPic(Rng As Range, Optional Pnm = "", Optional Pth = "")
- If Pth = "" Then Pth = ActiveWorkbook.Path '默认使用当前文件所在路径作为输出路径
- If Pnm = "" Then Pnm = Left(ActiveWorkbook.Name, InStrRev(ActiveWorkbook.Name, ".") - 1) & "_" & Replace(Rng.Address(0, 0), ":", "_")
- '默认使用当前【文件名_区域地址】作为输出文件名
- If ActiveWindow.DisplayGridlines = True Then ActiveWindow.DisplayGridlines = False: flg = True '去掉默认格子线
- Rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture '把选择范围内容转化为截屏图片信息
- With ActiveSheet.ChartObjects.Add(0, 0, Rng.Width + 1, Rng.Height + 1).Chart '在A1处按图片尺寸稍大建立1个空白图表对象
- .ChartArea.Border.LineStyle = 0 '去除边框
- .Paste '把刚才截屏的图片信息粘贴上去
- .Export Pth & "" & Pnm & ".jpg", "JPG" '按指定图片路径及名称导出jgp格式图片……如果区域内有图片应该用这个
- .Export Pth & "" & Pnm & ".png", "PNG" '按指定图片路径及名称导出png格式图片……这个对于纯数据工作表来说更好
- .Parent.Delete '删去该临时增加的图表对象
- End With
- If flg Then ActiveWindow.DisplayGridlines = True '恢复默认格子线
- End Sub
复制代码 单元格区域内容输出为jpg图片的过程代码有3个参数,
第1个参数Rng为必需,写入单元格区域地址即可。
第2个参数Pnm为输出图片的名称,默认为【当前工作簿文件名_区域地址】
第3个参数为输出文件夹路径,默认为当前工作簿所在文件夹。
代码更新:
① 为了美观,应该去掉工作表的默认格子线。(如有表格应该自己事先画好格子线)
② 输出增加了png格式……对于纯数据区域来说更节省,但如果区域内含图片则还是用jpg格式较好。
|
评分
-
5
查看全部评分
-
|