Giving Macro control to another workbook
Why not put a routine in Personal or an add-in that does the checking.
It can use the Activeworkbook as the "old" version then make your check for
a newer one based on filename or however you do it now.
If this code finds a newer version, close the "old" and open the new, may be
with a Kill of the old and a move of the new, if necessary.
Less conflict.
NickHK
"Trefor" wrote in message
...
I am trying to write a macro that will check to see if a newer version of
the
workbook that is being run exists. If it does, my thought was to pass
control
to a second workbook, close the first, copy/update the first workbook and
restart the first workbook and finally close out the second.
While I understand how to run a macro in another workbook, if I close the
first workbook the second workbook macros just stop. Below is my code
example, any ideas? Or indeed is there a much smarter way to do this?
Because
of course this will cause the Enable macro's message several times.
In Workbook1:
Sub Start()
Workbooks.Open Filename:="Workbook2.xls"
Run "Workbook2.xls" & "!MyMacro2", param1, param2, param3
ThisWorkbook.Close SaveChanges:=False
End Sub
Sub MyMacro1()
' continue doing stuff
End Sub
In Workbook2:
Sub MyMacro2(param1, param2, param3)
' Do stuff
Workbooks.Open Filename:="Workbook1.xls"
Run "Workbook1.xls" & "!MyMacro1"
ThisWorkbook.Close SaveChanges:=False
End Sub
--
Trefor
|