Rocky Smolin at Beach Access Software
rockysmolin at bchacc.com
Wed Aug 8 10:45:25 CDT 2007
Uh-oh. What problems did you have with the Printer object? Is that the same as using Application.Printer? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Wednesday, August 08, 2007 8:08 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Changing Default Printer A2002 was the first version to have a printer object. I have to tell you, though, that we tried it and went back to API calls as more consistent and reliable. Charlotte Foust -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin at Beach Access Software Sent: Wednesday, August 08, 2007 7:21 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Changing Default Printer What version of Access has that Printer object? And that code would go into the report in the load or open event? The code I found that I posted yesterday works in A2K3, it's real short, but does it at the OS level, which is probably more sketchy than doing it inside Access itself. What to you think? Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of paul.hartland at fsmail.net Sent: Wednesday, August 08, 2007 1:40 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Changing Default Printer Importance: High 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 -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.476 / Virus Database: 269.11.8/941 - Release Date: 8/7/2007 4:06 PM -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.476 / Virus Database: 269.11.8/941 - Release Date: 8/7/2007 4:06 PM