将工作表导出为不同页面上的PDF



我想在PDF文档中安全区域A1到BJ10。由于这个领域相当广泛,我想把这些部分分成三页。A1:R10, S1:BB10, BC1:BJ10.

我的当前代码是:

Sub ToPDF()

Sheets(1).PageSetup.Orientation = 2

Sheets(1).PageSetup.Zoom = False
Sheets(1).PageSetup.FitToPagesWide = 1

Sheets(1).Range("A1:BJ10").ExportAsFixedFormat xlTypePDF, Filename:=Path, Openafterpublish:=True
End Sub

我如何保护提到的区域为PDF,该区域的每个部分都有自己的页面?谢谢你!

一种方法是将区域复制到临时工作簿中,然后每个工作表都是一个单独的页。

Option Explicit
Sub ToPDF()
Dim wb As Workbook, ws As Worksheet
Dim wbTemp As Workbook, wsTemp As Worksheet
Dim ar, i As Long, sFilename As String
' ranges
ar = Array("A1:R10", "S1:BB10", "BC1:BJ10")
Set ws = ThisWorkbook.Sheets(1)
Set wbTemp = Workbooks.Add(xlWBATWorksheet)
sFilename = "ranges.pdf"
With wbTemp
For i = 0 To UBound(ar)
If i > 0 Then .Worksheets.Add after:=.Sheets(i)
With .Sheets(i + 1)
.PageSetup.Orientation = 2
.PageSetup.Zoom = False
.PageSetup.FitToPagesWide = 1
ws.Range(ar(i)).Copy .Range("A1")
End With
Next
.ExportAsFixedFormat xlTypePDF, Filename:=sFilename, Openafterpublish:=True
.Close False
End With
End Sub

最新更新