excel區(qū)域如何導(dǎo)出為高清圖片?VBA源碼
▎具體需求
VBA中有時候需要將單元格區(qū)域批量的導(dǎo)出為圖片,很多代碼可以用,但是導(dǎo)出的圖片不夠清晰,在這里分享一段導(dǎo)出高清圖片的代碼。

▎具體代碼
Sub?選中區(qū)域?qū)С鰹楦咔鍒D片()'VBA說整理Dim rng As Range '定義截圖范圍變量Set rng = Selection '設(shè)置截圖范圍為選中區(qū)域rng.CopyPicture xlPrinter, xlPicture '截圖范圍復(fù)制為圖片,用的是CopyPicture命令,參數(shù)xlPrinter表示按打印效果復(fù)制, 參數(shù)xlPicture表示截取為圖片格式,包括PNG\TIF等With ActiveSheet.ChartObjects.Add(0, 0, rng.Width * 2, rng.Height * 2).Chart '新建一個臨時圖表區(qū),用來儲存圖片.Parent.Select '選中新建的繪圖框,這是office2016版本新增的要求,沒有這句會導(dǎo)致導(dǎo)出的圖片是一片空白。.Paste '粘貼復(fù)制后的圖片????????SaveName?=?Application.GetSaveAsFilename(InitialFileName:=Year(Date)?&?Month(Date)?&?Day(Date)?&?"導(dǎo)出結(jié)果",?filefilter:="圖片文件(*.png),*.png")??If SaveName <> "False" Then .Export SaveName, "PNG" '如果文件名不為空則導(dǎo)出png格式圖片至指定位置'.Export "C:\test.png", "png" '導(dǎo)出到固定路徑.Parent.Delete '刪除該臨時繪圖框????End?WithEnd?Sub
高清圖片的核心語句就是這兩個參數(shù):
xlPrinter, xlPicture
對應(yīng)于手動操作就是這塊:


▎運行效果
評論
圖片
表情
