excel区域如何导出为高清图片?VBA源码
▎具体需求
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
对应于手动操作就是这块:


▎运行效果
评论
