所以我有一個橫向的作業表,我將它匯出為 PDF。通過選擇 的usedRange,我可以毫無問題地實作這一點activesheet,但是即使使用的范圍在列印區域之外,內容也會列印到一頁。在這種情況下,我該如何讓它列印多頁 PDF?我的代碼如下:
Dim numSheets As Integer
numSheets = UBound(SlotArray)
For z = LBound(SlotArray) To UBound(SlotArray)
Set attendSh = ThisWorkbook.Sheets(SlotArray(z))
attendSh.Activate
ThisWorkbook.ActiveSheet.UsedRange.Select
Next z
Select Case numSheets
Case "0"
ThisWorkbook.Sheets(Array(SlotArray(0))).Select
Case "1"
ThisWorkbook.Sheets(Array(SlotArray(0), SlotArray(1))).Select
Case "2"
ThisWorkbook.Sheets(Array(SlotArray(0), SlotArray(1), SlotArray(2))).Select
Case "3"
ThisWorkbook.Sheets(Array(SlotArray(0), SlotArray(1), SlotArray(2), SlotArray(3))).Select
Case "4"
ThisWorkbook.Sheets(Array(SlotArray(0), SlotArray(1), SlotArray(2), SlotArray(3), SlotArray(4))).Select
Case "5"
ThisWorkbook.Sheets(Array(SlotArray(0), SlotArray(1), SlotArray(2), SlotArray(3), SlotArray(4), SlotArray(5))).Select
Case "6"
ThisWorkbook.Sheets(Array(SlotArray(0), SlotArray(1), SlotArray(2), SlotArray(3), SlotArray(4), SlotArray(5), SlotArray(6))).Select
End Select
Application.PrintCommunication = False
With ThisWorkbook.ActiveSheet.PageSetup
.Orientation = xlLandscape
.CenterHorizontally = True
'.Zoom = 90
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintComments = False
.PrintGridlines = False
End With
Application.PrintCommunication = True
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
FilePath & "\" & Year & " Monthly Attendance\" & "\" & Year & " " & Month & " Attendance.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
哪里slotArray是作業表名稱的陣列。
uj5u.com熱心網友回復:
嘗試將 PageSetUp 應用于陣列中的每個作業表。
Dim numSheets As Long, Z As Long
numSheets = UBound(SlotArray)
Dim ws As Worksheet
For Z = LBound(SlotArray) To UBound(SlotArray)
Set ws = ThisWorkbook.Sheets(SlotArray(Z))
With ws.PageSetup
.Orientation = xlLandscape
.CenterHorizontally = True
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
.PrintComments = xlPrintNoComments
.PrintGridlines = False
.PrintArea = ws.UsedRange.Address
End With
Next Z
ThisWorkbook.Sheets(SlotArray).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="Attendance.pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
MsgBox "Printed " & vbLf & Join(SlotArray, vbLf)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/342816.html
上一篇:基于多個條件的VBA過濾
下一篇:從過濾列復制并粘貼唯一值
