ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Auto_Open over Private Sub Workbook_Open() (https://www.excelbanter.com/excel-programming/442955-auto_open-over-private-sub-workbook_open.html)

ordnance1[_2_]

Auto_Open over Private Sub Workbook_Open()
 
I am just wondering, is there any advantage to using an Auto_Open module
over just placing that code in a Private Sub Workbook_Open() module under
ThisWorkbook?


Dave Peterson

Auto_Open over Private Sub Workbook_Open()
 
I find that explaining how to use Auto_Open is easier than explaining how to use
workbook_open.

But to me, they're pretty much interchangeable.

There are some things (creating an application event, for example) that makes
the workbook_open a more logical choice.

And there are differences in behavior.

If you use one macro to open another workbook, then you have to stop the
workbook_open event from firing (if you don't want it to run)

application.enableevents = false
set wkbk = workbooks.open(filename:=...
application.enableevents = true

On the other hand, if you want to run the auto_open procedure, you'll have to
run it explicitly (using someworkbookthatjustopened.RunAutoMacros
which:=xlAutoOpen.runautomacros

They're kind of opposite in behavior.



ordnance1 wrote:

I am just wondering, is there any advantage to using an Auto_Open module
over just placing that code in a Private Sub Workbook_Open() module under
ThisWorkbook?


--

Dave Peterson

ordnance1[_2_]

Auto_Open over Private Sub Workbook_Open()
 
Thanks

"Dave Peterson" wrote in message
...
I find that explaining how to use Auto_Open is easier than explaining how
to use
workbook_open.

But to me, they're pretty much interchangeable.

There are some things (creating an application event, for example) that
makes
the workbook_open a more logical choice.

And there are differences in behavior.

If you use one macro to open another workbook, then you have to stop the
workbook_open event from firing (if you don't want it to run)

application.enableevents = false
set wkbk = workbooks.open(filename:=...
application.enableevents = true

On the other hand, if you want to run the auto_open procedure, you'll have
to
run it explicitly (using someworkbookthatjustopened.RunAutoMacros
which:=xlAutoOpen.runautomacros

They're kind of opposite in behavior.



ordnance1 wrote:

I am just wondering, is there any advantage to using an Auto_Open module
over just placing that code in a Private Sub Workbook_Open() module under
ThisWorkbook?


--

Dave Peterson




All times are GMT +1. The time now is 02:15 AM.

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