我試圖將我的工作表保存爲使用vba的pdf文件。工作表比A4頁寬,幷包含幾個形狀(從一邊到另一邊)。我希望工作表能夠放在一個A4頁面上,所以它應該按照屏幕上看到的那樣進行重新調整。我正在使用以下代碼:將圖表另存爲PDF
Sub Print_PDF()
Dim sFilename As String
Worksheets.Add.Name = "Helpsheet"
sFilename = "G:\anything\test.pdf"
ThisWorkbook.Worksheets("Newsletter").Range("A2:D81").CopyPicture xlScreen, xlBitmap
ThisWorkbook.Sheets("Helpsheet").Activate
ThisWorkbook.Sheets("Helpsheet").Paste
ActiveSheet.PageSetup.PrintArea = ThisWorkbook.Sheets("Helpsheet").Range("A1:O86")
With ActiveSheet.PageSetup
.Orientation = xlPortrait
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ThisWorkbook.Sheets("Helpsheet").ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFilename, quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Application.DisplayAlerts = False
ThisWorkbook.Sheets("Helpsheet").Delete
Application.DisplayAlerts = True
End Sub
代碼實際上會將PDF文件保存在預期位置。但是,PDF文件是4頁而不是預期的1頁。所以看起來這個打印區域沒有正確定義。我究竟做錯了什麼?
將縮放設置爲false會有訣竅。謝謝你節省我的一天! – Roosz0rd