Link to home
Start Free TrialLog in
Avatar of jselaya
jselayaFlag for United States of America

asked on

How can I fix VBA code so that a spreadsheet exports to PDF

Hello Experts,

Im trying to help a user in my office with a Excel 2010 spreadsheet. The spreadsheet was originally created on a MAC. There is visual basic code that allows the spreadsheet to be saved as a PDF file. I am not proficient with visual basic. When I try to run it I get Run Time 1004: Method 'SaveAs' of object' _Workbook' failed. Please see the code below:

 Sub ExportPDF()
'
' SavePDF Macro
'

'
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    ActiveWorkbook.Save
     
    'Define names
    Sheets("MonthlyReport").Select
    CurrentMonth = Sheets("DropDown").Range("L2").Value
    QuarterNumber = Sheets("DropDown").Range("L1").Value
    AttorneyName = Sheets("MonthlyReport").Range("B3").Value
    CurrentYear = Sheets("MonthlyReport").Range("B1").Value
   
    'Clear and set print areas
    Sheets("MonthlyReport").Select
    ActiveSheet.PageSetup.PrintArea = ""
    Application.Goto Reference:=QuarterNumber
    ActiveSheet.PageSetup.PrintArea = Selection.Address
   
    Sheets("Questions").Select
    ActiveSheet.PageSetup.PrintArea = ""
    Application.Goto Reference:=CurrentMonth
    ActiveSheet.PageSetup.PrintArea = Selection.Address
   
    Sheets("PlenaryInventory").Select
    ActiveSheet.PageSetup.PrintArea = ""
    Application.Goto Reference:="PI_" & CurrentMonth
    ActiveSheet.PageSetup.PrintArea = Selection.Address
   
    Sheets("ESOACaseInventory").Select
    ActiveSheet.PageSetup.PrintArea = ""
    Application.Goto Reference:="ES_" & CurrentMonth
    ActiveSheet.PageSetup.PrintArea = Selection.Address

    'Export to PDF
   
    ActiveWorkbook.SaveAs Filename:=AttorneyName & "_" & CurrentYear & "_" & CurrentMonth & ".pdf", FileFormat:=xlPDF

    'ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF _
    ', Filename:=AttorneyName & "_" & CurrentYear & "_" & CurrentMonth & ".pdf" _
    ', Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
     

    Sheets("MonthlyReport").Select
       


I am also attaching the spreadsheet.  Any help you can provide will be greatly appreciated.

Thanks so much.
Jose
Monthly-Report-Template-V2.xlsm
Avatar of Simon
Simon
Flag of United Kingdom of Great Britain and Northern Ireland image

I don't think that the "save as PDF" is part of the standard build of Office on Windows.

I have it on my File menu, but I think that's only because I have Acrobat (full version, not reader) installed on my machine.

If you don't have Acrobat (on Windows) you'll need to do it like this:

 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\YourFileNameHere.pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True
ASKER CERTIFIED SOLUTION
Avatar of Rory Archibald
Rory Archibald
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of jselaya

ASKER

Thanks so much. It now works!