[英]Saving multiple selected worksheets as a single PDF
我正在尝试将多个选定的工作表保存到一个PDF中。
relativePath = wb.Path & "\" & sheetName & dateToday
wb.Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
***This is the code in question***.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=relativePath, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
我尝试了两种方法来修改“这是有问题的代码”
为了明确起见,我想要的结果是将sheet1,sheet2和sheet3保存到同一PDF中(我的工作簿中还有很多其他工作表,并且在工作时我将用数组替换静态编码的工作表名称)
我已经从stackoverflow的答案中得到了解决方案1和2,但是在我为其他人工作时它们都不对我有用。
任何人都可以对解决方案有所了解,或者至少可以确定为什么这两件事正在发生吗?
@drcoding
我已经完成了您上面提交的代码。 似乎代替了线
wb.Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
您可以使用;
Worksheets("Sheet1").Select (False)
Worksheets("Sheet2").Select (False)
Worksheets("Sheet3").Select (False)
Sheet1,2,3可以替换为您稍后决定赋予工作表的名称。 另请注意,请使用(false),以便在选择工作表2后不会取消选择工作表1。
我已经在下面发布了类似的代码,您也可以使用它。 它在工作表“文件索引”中的多个工作表名称之间循环,并且能够转换在该工作表的第一列中选择为“ Y”的所有工作表。 它也使用类似的文件名,就像您在relativePath = wb.Path&“ \\”&sheetName&dateToday中选择的一样。 如果您愿意,请尝试一下;
链接: http : //profit21.blogspot.in/2015/05/template-for-entity-financial-reporting.html
链接到文件: https : //www.dropbox.com/s/hi4wfxqz9ixiuby/Profit21.blogspot.in%20Limited%20-%20FY%202014-15%20-%20Accounts%20%26%20Reports%20%282015% 201_54%29.xltm?dl = 0
代码如下:
Sub TEFAR_Convert_to_PDF()
Dim Count As Integer
Dim SheetsToPDF As Integer
Application.ScreenUpdating = False
Sheets("File Index").Select
Cells(7, 9).Select
For Count = 7 To 207
'If Worksheets("File Index").Cells(Count, 9) = "" Then GoTo outofi:
If Worksheets("File Index").Cells(Count, 9) = "Y" Then '1
sheetnam = Worksheets("File Index").Cells(Count, 7)
If IsError(sheetnam) = True Then sheetnam = ""
If sheetnam <> "" Then '2
Worksheets(sheetnam).Select (False)
End If '2
End If '1
Next Count
outofi:
PDF_filename = (Application.ActiveWorkbook.Path & "\" & Worksheets("Entity Master Data").Cells(3, 3) & " - " & Worksheets("Entity Master Data").Cells(13, 3) & " - " & "PDF Copy of Annual Report.pdf")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDF_filename, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
MsgBox ("File has been saved as PDF in " & PDF_filename & " .")
Sheets("File Index").Select
Application.ScreenUpdating = True
End Sub
干杯! 电子工程
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.