How about something like:
Option Explicit
Sub testme()
Dim wkbk As Workbook
'turn off events to match problem
Application.EnableEvents = False
Set wkbk = Workbooks.Open _
(Filename:="C:\my documents\excel\this is my book.xls")
Application.EnableEvents = True
Application.Run "'" & wkbk.Name & "'!thisworkbook.workbook_open"
End Sub
I put this in that other workbook
Option Explicit
Private Sub Workbook_Open()
MsgBox "Hi from:" & Me.FullName
End Sub
and I got a message back.
Erich Neuwirth wrote:
I ran into trouble with Auto_Open and Workbook_Open
Workbook_Open, the officially recommended method
for executing macros automatically when
opening a workbook, does not work when
Application.EnableEvents = False
Auto_Open, on the other hand, always seems to be run.
I have some (protected) addins (not written by me) which rely on
workbook_open to be executed.
It seems that one of these addins is setting
Application.EnableEvents = False
Anyhow, when ich check EnableAddins after starting Excel, it is false.
So I tested if for one workbook Auto_Open is executed
before Workbook_Open. Then, Auto_Open could set
Application.EnableEvents = True
and then WorkBook_Open would be executed.
This does not work. It seems that if at all
Workbook_Open is executed before Auto_Open.
Is there a way to ensure execution of Workbook_Open
in a Workbook where one can not change the code?
--
Dave Peterson