我使用VBA相当环保,这是我第一次在这个论坛上发帖提问,所以如果我违反任何发布规则,请耐心等待。
下面是一段代码,用于将一个或多个工作表从Excel工作簿打印/保存为PDF。如果我导出的每个工作表中的数据适合单个页面,则它可以正常工作。我发现的问题是,如果我的第一张纸上的数据范围大于1页,那么只会输出第一张工作表,并且只能输出第一页。关于如何解决这个问题的任何建议或建议?
elem:$('#elem').val()
答案 0 :(得分:0)
我使用的方法是遍历工作簿中的工作表并选择符合我标准的工作表。然后我使用ExportAsFixedFormat来创建我的pdf。 请注意,您无法选择隐藏的工作表,因此如果工作簿包含它们,您将需要添加if / then来检查可见性。
Pdfsheets = InputBox("How many worksheets would you like to include in PDF")
for x=1 to Pdfsheets
thisworkbook.sheets(x).select (false) 'use false to select multiple sheets
next x
'Prints the number of sheets entered by user--starts at first ACTIVE
Worksheet to the result of <Pdfsheets>
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
"C:\Users\" & WinName & "\Documents\REPORTING\" & Database & "\" & ReportYear & "\" & FolderMonth & "\" & Database & "-" & Title & "-" & FileDate _
, Quality:=xlQualityStandard, IncludeDocProperties:=False, _
IgnorePrintAreas:=False, OpenAfterPublish:=True