在一页上将范围另存为图片 file/pdf

Save a range as a picture file/pdf on one page

我正在尝试将范围保存为图片文件。下面的代码(从另一个 post 中删除)有效,但我不想创建一个图表页面,然后我需要将其删除。有什么建议吗?

Sub savedeal()

Dim sSheetName As String
Dim oRangeToCopy As Range
Dim oCht As Chart
Dim myFileName As String, myPath As String

myFileName = Format(Now(), "dd-mmm-yy") & "-" & "DEAL.PNG"
myPath = "D:\Hughs Files\Google Drive\Work Folder\Polaris\Blog\"


Worksheets("BOOK").Range("B15:M45").CopyPicture xlScreen, xlBitmap

Set oCht = Charts.Add

With oCht
    .Export Filename:=myPath & "\" & myFileName, Filtername:="PNG"
End With
End Sub

这个已经讨论了很多年了,如果你想把它保存为图片你就必须添加图表,即使加载项也使用图表。

不过,您可以做的一件事是将所需范围保存为 PDF 等。

Sub RngToPDF()
    Dim sh As Worksheet, rng As Range, Fnm As String

    Set sh = Sheets("Book")
    Set rng = sh.Range("B15:M45")
    Fnm = "C:\Users\Dave\Downloads\TestMe.pdf"

    With sh.PageSetup
        .PrintArea = rng.Address
        .PrintGridlines = True
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With

    sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Fnm


End Sub