I have an application with a report that must use the A4 paper size (which is bigger than the standard and normally default Letter size).
To initialize the printer I run the following code before opening the report, but for some reason the changes are not saved in the printer settings and the report opens Letter size.
Public Function SetPrinterProperties(pDeviceName As String, hWnd As Long) As Boolean
On Error GoTo ErrorHandler
Dim lRet As Long
Dim hPrinter As Long
Dim typPD As PRINTER_DEFAULTS
Dim pDevMode As type_DEVMODE
Dim aDevMode() As Byte
Dim hPrtDC As Long
Not sure if this will help as it only sets the printer for individul reports but it does allow you to specify papersize;
Private Sub cmdPreview_Click()
Dim stDocName As String
Dim prtDefault As Printer
'Set the printer default Users Printer
Set Application.Printer = Application.Printers("\\Dept1\Label_Printer")
Set prtDefault = Application.Printer
'Opens named report in preview mode and hides the current form and then sets the reports printer to above printer
stDocName = "rptLabelA"
DoCmd.OpenReport stDocName, acPreview, , , acWindowNormal
Me.Visible = False
Reports(stDocName).Printer = prtDefault
'Set the printer tray for Dept 1 Printer
prtDefault.Duplex = acPRDPSimplex 'single sided print
prtDefault.PaperSize = 130 'papersize 130 is a custom size
Sorry its taken me so long to get back. You'll need to refence the Office and word librarys. In the code environment select Tools > References and then scroll down to select : Microsoft Office 9.0 Object Library and
Microsoft Word 9.0 Object Library. The functionality is in one of these.