paul.hartland at fsmail.net
paul.hartland at fsmail.net
Wed Aug 8 03:39:49 CDT 2007
Rocky,
Not the neatest code in the world, but works for me:
Dim prnPrinter As Printer
Dim strDeviceName As String
Dim bolFoundPrinter As Boolean
strDeviceName = Printer.DeviceName ' Store current default printer
bolFoundPrinter = False
For Each prnPrinter In Printers
If (prnPrinter.DeviceName = "NewPrinterName") Then
Set Printer = prnPrinter
bolFoundPrinter = True
' DO WHAT YOU WANT HERE TO PRINT
Exit For
End If
Next
' Change back to original default printer
For Each prnPrinter In Printers
If (prnPrinter.DeviceName = strDeviceName) Then
Set Printer = prnPrinter
Exit For
End If
Next
this is in VB6, so I assume should work in VBA for Access
Message Received: Aug 07 2007, 08:49 PM
From: "Rocky Smolin at Beach Access Software"
To: "'Access Developers discussion and problem solving'"
Cc:
Subject: [AccessD] Changing Default Printer
Dear List:
Slightly different request for changing printers to the one I had a few day
ago:
Is there an easy way to save the current windows default printer and change
to a user pre-selected printer (name stored in an local options table)?
This is for a distributable app so there's no way to know what the installed
printers are. The program needs to print to a PDF file. So the user has to
have a PDF printer installed. They pre-select it through a combo box on a
control panel loaded with all the installed printer names and the printer
name is saved in a local table. The app then runs at night without user
intervention triggered by windows scheduler. So when it runs these reports,
I need it to change the windows default printer to whatever printer they
select. And then change it back after I'm done printing.
MTIA
Rocky
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
Paul Hartland
paul.hartland at fsmail.net
07730 523179