I have been using this macro for about 6 years to print from Excel to PDF:
Sub SelectPrintSheets()
Dim shtName As String, prShts As String, ws As Worksheet, shArr
shtName = Sheets("Setup").Range("C3").Text & "_" & Sheets("Setup").Range("C5").Text
For Each ws In Worksheets
Select Case ws.Name
Case "Setup", "Master", "Stmt"
Case Else
prShts = prShts & ws.Name & ","
End Select
Next ws
If prShts = "" Then Exit Sub
shArr = Split(Left(prShts, Len(prShts) - 1), ",")
Sheets(shArr).Select
Application.DisplayAlerts = False 'allows PDF to overwrite priors
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & shtName, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Worksheets("Setup").Activate
End Sub
Out of nowhere, all of a sudden the pdf's being produced are corrupted in some way. They open in Adobe, so everything appears ok, but if I attempt to use any tools (such as extract pages), I receive object not found errors. Any suggestions? Thank you all for your help.
Sub SelectPrintSheets()
Dim shtName As String, prShts As String, ws As Worksheet, shArr
shtName = Sheets("Setup").Range("C3").Text & "_" & Sheets("Setup").Range("C5").Text
For Each ws In Worksheets
Select Case ws.Name
Case "Setup", "Master", "Stmt"
Case Else
prShts = prShts & ws.Name & ","
End Select
Next ws
If prShts = "" Then Exit Sub
shArr = Split(Left(prShts, Len(prShts) - 1), ",")
Sheets(shArr).Select
Application.DisplayAlerts = False 'allows PDF to overwrite priors
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & shtName, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Worksheets("Setup").Activate
End Sub
Out of nowhere, all of a sudden the pdf's being produced are corrupted in some way. They open in Adobe, so everything appears ok, but if I attempt to use any tools (such as extract pages), I receive object not found errors. Any suggestions? Thank you all for your help.