Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Triggering a macro after Printing
Below is some code I am working on. Basically it looks at specific cell A7.
If it is equal to zero then that row gets hidden when printing. I want all rows to unhide after printing. How do I trigger this? The section under Before_Save is what I would like to do after printing. Is there an easier way to do this? Private Sub Workbook_BeforePrint(Cancel As Boolean) Sheets("January").Select If Cells(7, 1) = 0 Then Rows("7:7").EntireRow.Hidden = True End If End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets(Array("January", "February", "March", "April", _ "May", "June", "July", "August", "September", _ "October", "November", "December", "Summary")).Select Cells.Select Selection.EntireRow.Hidden = False Sheets("January").Select Cells(1, 1).Select End Sub |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Triggering a macro after Printing
Thanks for the help. Here is what I got. I removed the "On Error" because I
am still debugging this (I made another macro to enable the events back on). This code seems to be working okay. But I would prefer to have the print window when printing. The "PrintOut" command skips that and prints it immediately to the default printer. So now I can't cancel or even perform a print preview. Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim wkSht As Worksheet Sheets(Array("January", "February", "March", "April", _ "May", "June", "July", "August", "September", "October", _ "November", "December", "Summary")).Select For Each wkSht In ActiveWindow.SelectedSheets If wkSht.Cells(7, 1) = 0 Then wkSht.Rows("7:7").EntireRow.Hidden = True End If Next wkSht Cancel = True Application.EnableEvents = False ActiveWindow.SelectedSheets.PrintOut Application.EnableEvents = True For Each wkSht In ActiveWindow.SelectedSheets wkSht.Cells.EntireRow.Hidden = False Next wkSht Cells(1, 1).Select Sheets("January").Select End Sub "Jim Thomlinson" wrote: This should be close... Private Sub Workbook_BeforePrint(Cancel As Boolean) On Error GoTo ErrorHandler Application.EnableEvents = False Cancel = True Sheets("January").Select If Cells(7, 1) = 0 Then Rows("7:7").EntireRow.Hidden = True End If ActiveSheet.PrintOut DoStuff ErrorHandler: Application.EnableEvents = True End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) DoStuff End Sub Private Sub DoStuff() Sheets(Array("January", "February", "March", "April", _ "May", "June", "July", "August", "September", _ "October", "November", "December", "Summary")).Select Cells.Select Selection.EntireRow.Hidden = False Sheets("January").Select Cells(1, 1).Select End Sub -- HTH... Jim Thomlinson "Sloth" wrote: Below is some code I am working on. Basically it looks at specific cell A7. If it is equal to zero then that row gets hidden when printing. I want all rows to unhide after printing. How do I trigger this? The section under Before_Save is what I would like to do after printing. Is there an easier way to do this? Private Sub Workbook_BeforePrint(Cancel As Boolean) Sheets("January").Select If Cells(7, 1) = 0 Then Rows("7:7").EntireRow.Hidden = True End If End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Sheets(Array("January", "February", "March", "April", _ "May", "June", "July", "August", "September", _ "October", "November", "December", "Summary")).Select Cells.Select Selection.EntireRow.Hidden = False Sheets("January").Select Cells(1, 1).Select End Sub |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Triggering a macro after Printing
I changed PrintOut to PrintPreview. This always takes me to the printpreview
screen but then the print button (in the preview screen) works normally. That's seems wierd to me, but it works. Is there any danger to doing it like this? Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim wkSht As Worksheet Sheets(Array("January", "February", "March", "April", _ "May", "June", "July", "August", "September", _ "October", "November", "December", "Summary")).Select For Each wkSht In ActiveWindow.SelectedSheets If wkSht.Cells(7, 1) = 0 Then wkSht.Rows("7:7").EntireRow.Hidden = True End If Next wkSht Cancel = True Application.EnableEvents = False ActiveWindow.SelectedSheets.PrintPreview Application.EnableEvents = True For Each wkSht In ActiveWindow.SelectedSheets wkSht.Cells.EntireRow.Hidden = False Next wkSht Cells(1, 1).Select Sheets("January").Select End Sub |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Triggering a macro after Printing
Roedd <<Sloth wedi ysgrifennu:
Below is some code I am working on. Basically it looks at specific cell A7. If it is equal to zero then that row gets hidden when printing. I want all rows to unhide after printing. How do I trigger this? The section under Before_Save is what I would like to do after printing. Is there an easier way to do this? http://www33.brinkster.com/rbad/defa...page=newevents -- Rob Original portions of his message are copyright Robert Bruce and intended for distribution only via NNTP. Dissemination via third party Web forums with the exception of Google Groups and Microsoft Communities is strictly prohibited and may result in legal action. |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Triggering a macro after Printing
Thank you so much!!!! That's perfect.
"Robert Bruce" wrote: Roedd <<Sloth wedi ysgrifennu: Below is some code I am working on. Basically it looks at specific cell A7. If it is equal to zero then that row gets hidden when printing. I want all rows to unhide after printing. How do I trigger this? The section under Before_Save is what I would like to do after printing. Is there an easier way to do this? http://www33.brinkster.com/rbad/defa...page=newevents -- Rob Original portions of his message are copyright Robert Bruce and intended for distribution only via NNTP. Dissemination via third party Web forums with the exception of Google Groups and Microsoft Communities is strictly prohibited and may result in legal action. |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Triggering a macro after Printing
Sheets(Array("January", "February", "March", "April", _
"May", "June", "July", "August", "September", _ "October", "November", "December", "Summary")).Select As a side note... Just an alternative if you prefer: Sheets(Application.GetCustomListContents(4)).Selec t Sheets("Summary").Select False ' Don't Replace Also, depending on what you are doing... Rows("7:7").EntireRow.Hidden = (Cells(7, 1) = 0) -- HTH. :) Dana DeLouis Windows XP, Office 2003 "Sloth" wrote in message ... I changed PrintOut to PrintPreview. This always takes me to the printpreview screen but then the print button (in the preview screen) works normally. That's seems wierd to me, but it works. Is there any danger to doing it like this? Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim wkSht As Worksheet Sheets(Array("January", "February", "March", "April", _ "May", "June", "July", "August", "September", _ "October", "November", "December", "Summary")).Select For Each wkSht In ActiveWindow.SelectedSheets If wkSht.Cells(7, 1) = 0 Then wkSht.Rows("7:7").EntireRow.Hidden = True End If Next wkSht Cancel = True Application.EnableEvents = False ActiveWindow.SelectedSheets.PrintPreview Application.EnableEvents = True For Each wkSht In ActiveWindow.SelectedSheets wkSht.Cells.EntireRow.Hidden = False Next wkSht Cells(1, 1).Select Sheets("January").Select End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Triggering a macro after Printing | Excel Programming | |||
Function triggering a macro | Excel Worksheet Functions | |||
Daily Macro Triggering | Excel Discussion (Misc queries) | |||
Triggering Excel Macro from MS-Project | Excel Programming | |||
Triggering Macro Execution | Excel Programming |