vba每个pdf页面有多张图纸

vba每个pdf页面有多张图纸,vba,excel,pdf,layout,Vba,Excel,Pdf,Layout,下面的代码从动态图纸数组生成PDF文件。第二个代码设置感兴趣的各页上的打印区域和打印标题。某些图纸具有多个设置为打印的不连续区域 Worksheets(sSheetsArray).Select sFilename = "L:\[FilePath]" & Format(Now, "DD-MMM-YY-HH-MM") & "2.pdf" Debug.Print sFilename ActiveSheet.ExportAsFixedFormat _ Type:=

下面的代码从动态图纸数组生成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中并排生成页面。如果设置为小册子打印,这应该类似于在纸上显示的方式。有人知道如何在不重新安排图纸布局的情况下实现这一点吗

我认为Excel中没有小册子打印功能,但您可以尝试使用宏计算所有页面的开头和结尾,复制将作为小册子格式的一部分移动的页面,将它们粘贴到另一页旁边的图片,并将打印区域设置为同时打印这两个页面。然后用另一个宏来清理粘贴的图片。你能先不用宏吗?也就是说,您能否单击页面布局设置并获得与所需内容匹配的内容?如果是这样,请将这些步骤自动化。如果没有,那么使用VBA将非常困难。我会先看页面布局->宽度->2页