ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Auto_Open vs Open and call macro --priority question (https://www.excelbanter.com/excel-programming/284689-auto_open-vs-open-call-macro-priority-question.html)

John Baker

Auto_Open vs Open and call macro --priority question
 
Hi:

I have a spreadsheet called "collector.xls" that contains a macro "auto_open", which is
intended to execute when ever the sheet is opened. I am calling this sheet from another
sheet (opening the sheet in question and then calling a macro in the sheet I just
opened"), as in



Workbooks.Open Filename:="C:\IPT\timesheets\Collector.xls"
Application.Run "Collector.xls!Collectorcheckandmove"

My question is whether the auto-open macro in the collector will execute before the macro
I am calling from the external spreadsheet.

Thanks for he response

John Baker

Harald Staff

Auto_Open vs Open and call macro --priority question
 
Hi John

Auto_open won't run at all when you open from code. Unless you request it to run like
this:

ActiveWorkbook.RunAutoMacros (xlAutoOpen)

These things are pretty easy to test for yourself with something like

Sub Auto_open()
MsgBox "HI from Auto_open"
End Sub

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"John Baker" wrote in message
...
Hi:

I have a spreadsheet called "collector.xls" that contains a macro "auto_open", which is
intended to execute when ever the sheet is opened. I am calling this sheet from another
sheet (opening the sheet in question and then calling a macro in the sheet I just
opened"), as in



Workbooks.Open Filename:="C:\IPT\timesheets\Collector.xls"
Application.Run "Collector.xls!Collectorcheckandmove"

My question is whether the auto-open macro in the collector will execute before the

macro
I am calling from the external spreadsheet.

Thanks for he response

John Baker




J.E. McGimpsey

Auto_Open vs Open and call macro --priority question
 
In article ,
John Baker wrote:

Hi:

I have a spreadsheet called "collector.xls" that contains a macro
"auto_open", which is
intended to execute when ever the sheet is opened. I am calling this sheet
from another
sheet (opening the sheet in question and then calling a macro in the sheet I
just
opened"), as in



Workbooks.Open Filename:="C:\IPT\timesheets\Collector.xls"
Application.Run "Collector.xls!Collectorcheckandmove"

My question is whether the auto-open macro in the collector will execute
before the macro
I am calling from the external spreadsheet.



Actually, the auto-open macro won't run at all. Auto-macros will run
if the file is opened directly (via the file menu or from the
Finder), but will not run when opened from code.

To get automacros to run, you need to use


Workbooks.Open Filename:="C:\IPT\timesheets\Collector.xls"
ActiveWorkbook.Autorun xlAutoOpen
Application.Run "Collector.xls!Collectorcheckandmove"

Alternatively, you can run macros on opening (whether from code or
direct) by calling it from, or including it in, the opened
workbook's Workbook_Open() event. Put this in the ThisWorkbook code
module:

Private Sub Workbook_Open()
MyOpenMacro 'or include macro here
End Sub

In general, if opening directly, Auto_Open macros run after all
event macros associated with opening a file, but before your
Application.Run call.

To see the order of firing:

http://cpearson.com/excel/events.htm

Tom Ogilvy

Auto_Open vs Open and call macro --priority question
 
Just and added comment.
ActiveWorkbook.RunAutoMacros (xlAutoOpen)
really shouldn't have parens around the argument since you are not returning
a value. It doesn't cause a problem here, but could if the argument were an
object.

ActiveWorkbook.RunAutoMacros xlAutoOpen


--
Regards,
Tom Ogilvy


Harald Staff wrote in message
...
Hi John

Auto_open won't run at all when you open from code. Unless you request it

to run like
this:

ActiveWorkbook.RunAutoMacros (xlAutoOpen)

These things are pretty easy to test for yourself with something like

Sub Auto_open()
MsgBox "HI from Auto_open"
End Sub

--
HTH. Best wishes Harald
Followup to newsgroup only please.

"John Baker" wrote in message
...
Hi:

I have a spreadsheet called "collector.xls" that contains a macro

"auto_open", which is
intended to execute when ever the sheet is opened. I am calling this

sheet from another
sheet (opening the sheet in question and then calling a macro in the

sheet I just
opened"), as in



Workbooks.Open Filename:="C:\IPT\timesheets\Collector.xls"
Application.Run "Collector.xls!Collectorcheckandmove"

My question is whether the auto-open macro in the collector will execute

before the
macro
I am calling from the external spreadsheet.

Thanks for he response

John Baker







All times are GMT +1. The time now is 01:54 PM.

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