Access printing shortcut in Ms Access

I have a report that I have set up a printing shortcut set up in the printing preferences that selects the bin , papersize and orientation.Can I use VBA to make the shortcut active when selecting the report and return the printer back to the previous setting when exiting the database
SvgmassiveAsked:
Who is Participating?
 
MacroShadowConnect With a Mentor Commented:
Try this:
Private Sub cmdPrintReport_Click()

    Dim rpt As Report
    Dim prtr As Access.printer

    Set Application.printer = Nothing
    Set prtr = Application.printer

    ' set paper size
    prtr.PaperSize = acPRPSLegal
    ' set paper bin
    prtr.PaperBin = acPRBNLower

    ' open your report in hidden view to apply the settings
    DoCmd.OpenReport "rptYourReportName", acViewPreview, , , acHidden
    Set rpt = Reports!rptYourReportName
    
    ' Set the Printer property of the report to the
    Set rpt.printer = prtr
    
    ' open the report in normal view to print
    DoCmd.OpenReport "rptYourReportName", acViewNormal
    DoCmd.Close acReport, "rptYourReportName", acSaveNo
    
    ' cleanup
    Set Application.printer = Nothing

End Sub

Open in new window

0
 
MacroShadowCommented:
What is a "printing shortcut"?
0
 
PatHartmanCommented:
Access remembers certain printer settings for a report such as alternate trays.  You will need to test on several computers but shouldn't have to make any adjustments as long as they are using a similar printer.
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
Helen FeddemaConnect With a Mentor Commented:
Make a new printer item with the settings you wish, then use code like the following to temporarily switch to that printer, print the report, then switch back to the default printer:

Public Sub PrintToSpecificPrinter(strPrinter As String, strReport As String)
'Created by Helen Feddema 12-Feb-2010
'Last modified by Helen Feddema 12-Feb-2010

On Error GoTo ErrorHandler

   Dim prtCurrent As Printer
   Dim prtDefault As Printer
   
   'Save current default printer
   Set prtDefault = Application.Printer
   Debug.Print "Current default printer: " & prtDefault.DeviceName
   
   'Select a specific printer as new default printer
   Application.Printer = Printers(strPrinter)
   
   'Print the report
   DoCmd.OpenReport strReport
   
   'Set printer back to former default printer
   Application.Printer = prtDefault
      
ErrorHandlerExit:
   Exit Sub

ErrorHandler:
   MsgBox "Error No: " & Err.Number & "; Description: " & _
      Err.Description
   Resume ErrorHandlerExit

End Sub

Open in new window

0
 
SvgmassiveAuthor Commented:
I am trying to change the paper and bin selection at the printing short cuts.
I have attached the jpeg.
thanks
printing_shortcuts.bmp
0
 
MacroShadowCommented:
@Svgmassive
That is a printer specific feature, not something that can be controlled from VBA unless the printer company provides an API (which it probably doesn't).
0
 
SvgmassiveAuthor Commented:
The problem I am having since i don't have admin rights the PDF is of a legal size paper and i need it to print from tray 3 and it doesn't do that from within ms access
0
 
SvgmassiveAuthor Commented:
Hi MacroShadow that works for printing the report.I am trying to bulk print pdf files in a folder from within access and it doesn't chose the correct bin.I have to constantly go and select the right bin.

Thanks
0
 
MacroShadowCommented:
How are you printing the PDFs?
0
 
Helen FeddemaCommented:
Can you post your code?
0
All Courses

From novice to tech pro — start learning today.