printing a print area to a non default printer

M

mikegibson

Ive been printing to a select area to PDF, using a VBA code and settin
my default print to a program I have installed, CutePDF Writer, usin
this code (pressing Ctrl+T):



VBA Code:
--------------------


Sub printmy()
curPrtArea = ActiveSheet.PageSetup.PrintArea
myPrtArea = "A47:H133"
ActiveSheet.PageSetup.PrintArea = myPrtArea
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea = curPrtArea
'
' printmy Macro
' Macro recorded 4/3/2010 by Mike Gibson
'
' Keyboard Shortcut: Ctrl+t
'
End Sub

--------------------




However I want to change the default printer back to my normal printe
and im struggling to write the code to continue writing to CutePD
Writer, (even though its not my default)



VBA Code:
--------------------


Sub printmy()
curPrtArea = ActiveSheet.PageSetup.PrintArea
myPrtArea = "A47:H133"
ActiveSheet.PageSetup.PrintArea = myPrtArea
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea = curPrtArea
Dim Ptr As Printer
For Each Ptr In Printers
If Ptr.DeviceName = "CutePDF Writer" Then
Set Printer = Ptr
Exit For
End If
Next Ptr
'
' printmy Macro
' Macro recorded 4/3/2010 by Mike Gibson
'
' Keyboard Shortcut: Ctrl+t
'
End Sub
--------------------




Anyone have any ideas?

Happy Easter!!
 
O

OssieMac

Hi Mike,

Try the following. Recording the code will give you the correct syntax and
printer name.

Turn on Macro recorder
In xl2007 select Microsoft button - > Print -> Print Select Printer etc.
In earlier versions of xl
Select File -> Print

You should have the Printer Selection dialog box open.
Select the required printer. If the printer you want is already selected,
then select another one then re-select the required printer.
The Cancel button will change to Close
Click the Close button without printing
Stop macro recorder

You will record code something like the following.

Application.ActivePrinter = "Samsung CLP-310 Series on Ne00:"

If it was necessary to change from the already active printer and back again
you will see 2 lines of code.


--
Regards,

OssieMac


mikegibson said:
Ive been printing to a select area to PDF, using a VBA code and setting
my default print to a program I have installed, CutePDF Writer, using
this code (pressing Ctrl+T):
VBA Code:
Sub printmy()
curPrtArea = ActiveSheet.PageSetup.PrintArea
myPrtArea = "A47:H133"
ActiveSheet.PageSetup.PrintArea = myPrtArea
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea = curPrtArea
'
' printmy Macro
' Macro recorded 4/3/2010 by Mike Gibson
'
' Keyboard Shortcut: Ctrl+t
'
End Sub
--------------------




However I want to change the default printer back to my normal printer
and im struggling to write the code to continue writing to CutePDF
Writer, (even though its not my default)
VBA Code:
 
M

mikegibson

Thanks!

This is the final code, to print to a selected area to PDF, (usin
CutePDF Writer, which is a free program), in one action (in this case
Ctrl+T)



VBA Code:
--------------------


Sub printmy()
curPrtArea = ActiveSheet.PageSetup.PrintArea
myPrtArea = "A47:H133"
ActiveSheet.PageSetup.PrintArea = myPrtArea
ActiveSheet.PrintOut ActivePrinter:="CutePDF Writer"
ActiveSheet.PageSetup.PrintArea = curPrtArea
'
' printmy Macro
' Macro recorded 4/3/2010 by Mike Gibson
'
' Keyboard Shortcut: Ctrl+t
'
End Sub

--------------------




Thank you for your help.




OssieMac;690121 said:
Hi Mike,

Try the following. Recording the code will give you the correct synta and
printer name.

Turn on Macro recorder
In xl2007 select Microsoft button - > Print -> Print Select Printe etc.
In earlier versions of xl
Select File -> Print

You should have the Printer Selection dialog box open.
Select the required printer. If the printer you want is alread selected,
then select another one then re-select the required printer.
The Cancel button will change to Close
Click the Close button without printing
Stop macro recorder

You will record code something like the following.

Application.ActivePrinter = "Samsung CLP-310 Series on Ne00:"

If it was necessary to change from the already active printer and bac again
you will see 2 lines of code.


--
Regards,

OssieMac









------------------------------------------------------------------------
The Code Cage Forums
(http://www.thecodecage.com/forumz/showthread.php?t=192865)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top