[AccessD] Changing Default Printer

Charlotte Foust cfoust at infostatsystems.com
Wed Aug 8 10:07:58 CDT 2007


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




More information about the AccessD mailing list