Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Printing Macro
I have this code located under ThisWorkbook to intercept a print request,
and run my code to print multiple copies. Now I know most of you will say "why not just set the #of copies" well the problem is when I do that our Color Laser will print lines in the merged cells where the boarder would be if the cells were not merged, but if I print one at a time it does not do it (very strange behavior, but IT will not replace my print just for that). I am at a loss here. So how can I loop through the multiple print routines without triggering the BeforePrint code? Private Sub Workbook_BeforePrint(Cancel As Boolean) On Error GoTo EndPoint Printing.Show 'EndPoint: Cancel = True EndPoint: End Sub --------------------------------------------------------- This code is in it's own module (not located under ThisWorkbook ) Private Sub CommandButton1_Click() SortRoutesToCover.SortRoutesToCover If OptionButton1.Value = True Then ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "Paratransit_Color_Laser on Ne01:", Collate:=True Unload Printing ElseIf OptionButton2.Value = True Then ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "Paratransit_Color_Laser on Ne01:", Collate:=True ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "Paratransit_Color_Laser on Ne01:", Collate:=True Unload Printing End If End Sub |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Printing Macro
Just figured it out after hours of frustration. Adding
Application.EnableEvents on both ends of the code was all it took. Application.EnableEvents = False ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "Paratransit_Color_Laser on Ne01:", Collate:=True Application.EnableEvents = True "Patrick C. Simonds" wrote in message ... I have this code located under ThisWorkbook to intercept a print request, and run my code to print multiple copies. Now I know most of you will say "why not just set the #of copies" well the problem is when I do that our Color Laser will print lines in the merged cells where the boarder would be if the cells were not merged, but if I print one at a time it does not do it (very strange behavior, but IT will not replace my print just for that). I am at a loss here. So how can I loop through the multiple print routines without triggering the BeforePrint code? Private Sub Workbook_BeforePrint(Cancel As Boolean) On Error GoTo EndPoint Printing.Show 'EndPoint: Cancel = True EndPoint: End Sub --------------------------------------------------------- This code is in it's own module (not located under ThisWorkbook ) Private Sub CommandButton1_Click() SortRoutesToCover.SortRoutesToCover If OptionButton1.Value = True Then ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "Paratransit_Color_Laser on Ne01:", Collate:=True Unload Printing ElseIf OptionButton2.Value = True Then ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "Paratransit_Color_Laser on Ne01:", Collate:=True ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _ "Paratransit_Color_Laser on Ne01:", Collate:=True Unload Printing End If End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Printing Macro | Excel Discussion (Misc queries) | |||
Macro for printing | Excel Worksheet Functions | |||
printing macro | Excel Discussion (Misc queries) | |||
Need help for Printing Macro. | Excel Programming | |||
Printing Macro | Excel Discussion (Misc queries) |