Save and restore user's ActivePrinter in MS-Access VBA

In an MS-Access application, I need to save the user's current default printer before changing it to a Pdf-Writer to email a report.  On completion I must restore the user's default printer.

I have the code:
    Dim stUsersPrinter As String
    stUsersPrinter = Application.ActivePrinter

However I get a compile error:
    "Method or data member not found"

I am using MS-Access 2003.
Under Tools/References I have:
  Visual basic for applications
  Microsoft Access 11.0 Object library
  Microsoft DAO 3.6 Object Library
  Microsoft Visual Basic for Applications Extensibility 5.3
  Microsoft ADO Ext.2.8 for DDL and Security
  Microsoft ActiveX Data Objects Recordset 2.8 Library
  OLE Automation
  Adobe Acrobat 9.0 Type Library
  Find Printers type library
  Microsofoft Office 11.0 Object Library
  Windows Script Host Object model
  Acrobat Access 3.0 Type Library
 
David_LoxleyAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
peter57rConnect With a Mentor Commented:
Dim myDefPrt as string
'get current default printer.
mydefPrt= Application.Printer.DeviceName

' change the printer
Set Application.Printer = Application.Printers("printername")
' do your printing here.........


'then reset default.
Set Application.Printer = Application.Printers(mydefPrt)


0
 
Eric ShermanAccountant/DeveloperCommented:
The code above posted peter57r will work in Access 2003 and later versions.

ET
0
 
David_LoxleyAuthor Commented:
Thanks - so simple when you know how!  I had been wading through all sorts of complexities.
0
 
muneer alkouakCommented:
thanks, i will test it
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.