ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Application Events / App_WorkbookOpen (https://www.excelbanter.com/excel-programming/319020-application-events-app_workbookopen.html)

Fries[_2_]

Application Events / App_WorkbookOpen
 
Hello all,

What I´m trying to do:
Everytime I open an existing Workbook I want the PrintSettings for all
the sheets to be Draft. I cannot do this in the printersettings
directly because of restrictions.

What I came up with so far:
In my Personal.xls I did the following:

- I created a new class module: Class1
- I wrote in Class1:
Public WithEvents App As Application
- I wrote in Class1:
Private Sub App_WorkbookOpen(ByVal WB As Excel.Workbook)
Dim page As Worksheet
For Each page In Worksheets
page.PageSetup.Draft = True
Next page
End Sub

This doesn´t do the trick... can anyone tell me why not?

thanks
Fries

Bob Phillips[_6_]

Application Events / App_WorkbookOpen
 
Fries,

You have to enable application events. I do this by adding this line in my
Workbook_Open event (for Personal.xls)


Set AppClass.App = Application

assuming the class is named AppClass. Have you done this?

That workbook event can also be run from the VBE by clicking in the event
code and run.


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Fries" wrote in message
om...
Hello all,

What I´m trying to do:
Everytime I open an existing Workbook I want the PrintSettings for all
the sheets to be Draft. I cannot do this in the printersettings
directly because of restrictions.

What I came up with so far:
In my Personal.xls I did the following:

- I created a new class module: Class1
- I wrote in Class1:
Public WithEvents App As Application
- I wrote in Class1:
Private Sub App_WorkbookOpen(ByVal WB As Excel.Workbook)
Dim page As Worksheet
For Each page In Worksheets
page.PageSetup.Draft = True
Next page
End Sub

This doesn´t do the trick... can anyone tell me why not?

thanks
Fries




Chip Pearson

Application Events / App_WorkbookOpen
 
You need to create an instance of Class1 in a normal code module,
and then set the App variable to the Application. E.g.,

Dim AppClass As Class1
Set AppClass.App = Application


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com




"Fries" wrote in message
om...
Hello all,

What I´m trying to do:
Everytime I open an existing Workbook I want the PrintSettings
for all
the sheets to be Draft. I cannot do this in the printersettings
directly because of restrictions.

What I came up with so far:
In my Personal.xls I did the following:

- I created a new class module: Class1
- I wrote in Class1:
Public WithEvents App As Application
- I wrote in Class1:
Private Sub App_WorkbookOpen(ByVal WB As Excel.Workbook)
Dim page As Worksheet
For Each page In Worksheets
page.PageSetup.Draft = True
Next page
End Sub

This doesn´t do the trick... can anyone tell me why not?

thanks
Fries




Chip Pearson

Application Events / App_WorkbookOpen
 
Dim AppClass As Class1
Set AppClass.App = Application


should be
Dim AppClass As Class1
Set AppClass = New Class1
Set AppClass.App = Application


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com



"Chip Pearson" wrote in message
...
You need to create an instance of Class1 in a normal code
module, and then set the App variable to the Application. E.g.,

Dim AppClass As Class1
Set AppClass.App = Application


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com




"Fries" wrote in message
om...
Hello all,

What I´m trying to do:
Everytime I open an existing Workbook I want the PrintSettings
for all
the sheets to be Draft. I cannot do this in the
printersettings
directly because of restrictions.

What I came up with so far:
In my Personal.xls I did the following:

- I created a new class module: Class1
- I wrote in Class1:
Public WithEvents App As Application
- I wrote in Class1:
Private Sub App_WorkbookOpen(ByVal WB As Excel.Workbook)
Dim page As Worksheet
For Each page In Worksheets
page.PageSetup.Draft = True
Next page
End Sub

This doesn´t do the trick... can anyone tell me why not?

thanks
Fries






Bob Phillips[_6_]

Application Events / App_WorkbookOpen
 
missed the line
Dim AppClass as clsAppEvents

my class is called clsAppEvents

--

HTH

RP
(remove nothere from the email address if mailing direct)


"Bob Phillips" wrote in message
...
Fries,

You have to enable application events. I do this by adding this line in my
Workbook_Open event (for Personal.xls)


Set AppClass.App = Application

assuming the class is named AppClass. Have you done this?

That workbook event can also be run from the VBE by clicking in the event
code and run.


--

HTH

RP
(remove nothere from the email address if mailing direct)


"Fries" wrote in message
om...
Hello all,

What I´m trying to do:
Everytime I open an existing Workbook I want the PrintSettings for all
the sheets to be Draft. I cannot do this in the printersettings
directly because of restrictions.

What I came up with so far:
In my Personal.xls I did the following:

- I created a new class module: Class1
- I wrote in Class1:
Public WithEvents App As Application
- I wrote in Class1:
Private Sub App_WorkbookOpen(ByVal WB As Excel.Workbook)
Dim page As Worksheet
For Each page In Worksheets
page.PageSetup.Draft = True
Next page
End Sub

This doesn´t do the trick... can anyone tell me why not?

thanks
Fries






Fries[_3_]

Application Events / App_WorkbookOpen
 
Hey Chip and Bob,

thanks for the help, got it working now.

Fries

In article ,
says...
Dim AppClass As Class1
Set AppClass.App = Application


should be
Dim AppClass As Class1
Set AppClass = New Class1
Set AppClass.App = Application





All times are GMT +1. The time now is 02:47 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com