excel区域如何导出为高清图片?VBA源码

共 1179字,需浏览 3分钟

 ·

2022-04-28 00:00

▎具体需求


VBA中有时候需要将单元格区域批量的导出为图片,很多代码可以用,但是导出的图片不够清晰,在这里分享一段导出高清图片的代码。



▎具体代码



Sub 选中区域导出为高清图片()'VBA说整理    Dim rng As Range                    '定义截图范围变量    Set rng = Selection                  '设置截图范围为选中区域    rng.CopyPicture xlPrinter, xlPicture                       '截图范围复制为图片,用的是CopyPicture命令,参数xlPrinter表示按打印效果复制, 参数xlPicture表示截取为图片格式,包括PNG\TIF等    With ActiveSheet.ChartObjects.Add(0, 0, rng.Width * 2, rng.Height * 2).Chart '新建一个临时图表区,用来储存图片        .Parent.Select                                         '选中新建的绘图框,这是office2016版本新增的要求,没有这句会导致导出的图片是一片空白。        .Paste                                                 '粘贴复制后的图片        SaveName = Application.GetSaveAsFilename(InitialFileName:=Year(Date) & Month(Date) & Day(Date) & "导出结果", filefilter:="图片文件(*.png),*.png")          If SaveName <> "False" Then .Export SaveName, "PNG"    '如果文件名不为空则导出png格式图片至指定位置        '.Export "C:\test.png", "png" '导出到固定路径        .Parent.Delete                                         '删除该临时绘图框    End WithEnd Sub



高清图片的核心语句就是这两个参数:


xlPrinter, xlPicture



对应于手动操作就是这块:







▎运行效果










推荐阅读:(点击下方标题即可跳转)


浏览 177
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报