以下代码从动态工作表数组生成PDF文件。第二个代码在各个感兴趣的纸张上设置打印区域和打印标题。一些片材具有多个不连续区域以进行印刷。
Worksheets(sSheetsArray).Select
sFilename = "L:\[FilePath]" & Format(Now, "DD-MMM-YY-HH-MM") & "2.pdf"
Debug.Print sFilename
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
FileName:=sFilename, _
Quality:=xlQualityMinimum, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
设置打印区域等。
Sub SetWorksheetPrintArea(ws As Worksheet, sPrintAreas As String, sTitleRange As String, bLandscape As Boolean)
With ws.PageSetup
.PrintArea = sPrintAreas
.PrintTitleRows = sTitleRange
If bLandscape Then .Orientation = xlLandscape Else .Orientation = xlPortrait
.Zoom = False
.FitToPagesWide = 1
End With
End Sub
然而,这是有效的,我需要在PDF中将一张纸并排生产。这应该类似于设置为小册子打印时在纸上呈现的方式。有没有人知道如何在不重新安排工作表布局的情况下完成这项工作?