
Declaramos en un módulo :
Type PRINTER_DEFAULTS
pDatatype As Long
pDevMode As Long
DesiredAccess As Long
End Type
Declare Function PrinterProperties Lib "winspool.drv" (ByVal hwnd As Long, ByVal hPrinter As Long) As Long
Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, pDefault As Long) As Long
Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
Y para acceder, por ejemplo, a la página de propiedades de la impresora por defecto :
Dim l As Long, hPrinter As Long
'abrimos la impresora por defecto para obtener un handle
l = OpenPrinter(Printer.DeviceName, hPrinter, 0&)
'sacamos la página de propiedades
l = PrinterProperties(Me.hwnd, hPrinter)
'cerramos la impresora
l = ClosePrinter(hPrinter)

