Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
printing a print area to a non default printer
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: -------------------- 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!! -- mikegibson ------------------------------------------------------------------------ mikegibson's Profile: 805 View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=192865 http://www.thecodecage.com/forumz |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
printing a print area to a non default printer
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" wrote: 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: -------------------- 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!! -- mikegibson ------------------------------------------------------------------------ mikegibson's Profile: 805 View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=192865 http://www.thecodecage.com/forumz . |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
printing a print area to a non default printer
Thanks! This is the final code, to print to a selected area to PDF, (using 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 Wrote: 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" wrote: 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: -------------------- 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!! -- mikegibson ------------------------------------------------------------------------ mikegibson's Profile: 805 View this thread: 'printing a print area to a non default printer - The Code Cage Forums' (http://www.thecodecage.com/forumz/sh...d.php?t=192865) 'Microsoft Office Help - Microsoft Office Discussion - Excel VBA Programming - Access Programming' (http://www.thecodecage.com/forumz) . -- mikegibson ------------------------------------------------------------------------ mikegibson's Profile: 805 View this thread: http://www.thecodecage.com/forumz/sh...d.php?t=192865 http://www.thecodecage.com/forumz |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
If no default printer Open Print Diablog box | Excel Programming | |||
store default printer, change printer and then restore default printer? | Excel Programming | |||
Printing to Local Printer and the not the default printer. | Excel Programming | |||
members on my network printer not able to print to default printer | Excel Discussion (Misc queries) | |||
Printing from default printer | Excel Discussion (Misc queries) |