This post is from a previous reply from Tek_tips ....
The following code will output an Access report as a PDF file. (you can modify to use with excel)
You’ll need:
- the Acrobat PDFWriter software on your machine.
- Your own version of the Get/Save registry setting calls below
Note: this is a chopped down version of my real code just to show the salient points. You’ll need to adapt this to your own context.
Public Sub RunReportAsPDF
On Error GoTo Err_RunReport
‘ Folder where PDF file will be written
sPDFPath = “C:\myapp\archive\”
‘ Save current default printer
sMyDefPrinter = GetRegistryString(HKEY_CURRENT_USER, "Software\Microsoft\WIndows NT\CurrentVersion\Windows", "Device"

‘ Set default printer to PDF Writer
SaveRegistryString HKEY_CURRENT_USER, "Software\Microsoft\WIndows NT\CurrentVersion\Windows", "Device", "Acrobat PDFWriter"
sPDFName = “myReport.pdf"
‘ Setting value for PDFFileName in the registry stops file dialog box from appearing
SaveRegistryString HKEY_CURRENT_USER, "Software\Adobe\Acrobat PDFWriter", "PDFFileName", sPDFPath + sPDFName
‘ Run the report
DoCmd.OpenReport “myReport”, acPreview
Exit_RunReport:
' Restore default printer
SaveRegistryString HKEY_CURRENT_USER, "Software\Microsoft\WIndows NT\CurrentVersion\Windows", "Device", sMyDefPrinter
Exit Sub
Err_RunReport:
MsgBox Err.Description
Resume Exit_RunReport
End Sub