2015-10-04 22 views
0

我想保存一个范围作为图片文件。下面的代码(从另一篇文章中删除)有效,但我不想创建图表页面,然后我需要删除。有什么建议么?保存范围作为图片文件/ pdf在一页

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 
+0

**为什么不代码删除图表页面?? ** –

回答

1

这已被讨论多年,如果你想让它保存为你将不得不添加图表,即使插件使用的图表图像。

你可以做的一件事就是将所需范围保存为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 
+0

感谢Davesexcel,我在网上看到所有的职位,但希望有最近围绕制定了工作。但我认为出口作为pdf是更好的方法。 即使将页面方向设置为横向,范围仍会跨两页导出。我如何在单个页面上创建pdf? – Zeus

+0

我添加了''.Zoom = false''和''.Orientation = xlLandscape'',它现在在一页上打印范围。谢谢您的帮助。 – Zeus