Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi -
I have two workbooks in an application. Book "One" opens before "Two". (a macro does this.) There are functions and subs in general modules in book one, that I want to run from the Open event in book two. I don't want to have to copy the code and have it be in two 'places. Application.Run("MYCUSTOM.XLM!My_Func_Sum", 1, 5) I tried to modify the above application.run example from the help section. The line below was a flat out guess. Artemaint is the module containing the zpend_qtyf function which returns an integer. ' line below is to be part of a sub executing from the ' booktwo.xls open event. PendQty = Application.Run("bookone.xls(artemaint)!zpend_qtyf ") If it's possible, please provide an example of the correct syntax. I looked at the help for "Call" and it said nothing about what I'd like. The problem will go away when booktwo becomes an add-in for bookone, but I'm not there yet. As I write this, I'm heading into Walkenbach's book, but I'm not optimistic about finding a reference quickly. Thanks much. -- Neal Z |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Look under global macros.
"Neal Zimm" wrote: Hi - I have two workbooks in an application. Book "One" opens before "Two". (a macro does this.) There are functions and subs in general modules in book one, that I want to run from the Open event in book two. I don't want to have to copy the code and have it be in two 'places. Application.Run("MYCUSTOM.XLM!My_Func_Sum", 1, 5) I tried to modify the above application.run example from the help section. The line below was a flat out guess. Artemaint is the module containing the zpend_qtyf function which returns an integer. ' line below is to be part of a sub executing from the ' booktwo.xls open event. PendQty = Application.Run("bookone.xls(artemaint)!zpend_qtyf ") If it's possible, please provide an example of the correct syntax. I looked at the help for "Call" and it said nothing about what I'd like. The problem will go away when booktwo becomes an add-in for bookone, but I'm not there yet. As I write this, I'm heading into Walkenbach's book, but I'm not optimistic about finding a reference quickly. Thanks much. -- Neal Z |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Whiz, will do.
-- Neal Z "JLGWhiz" wrote: Look under global macros. "Neal Zimm" wrote: Hi - I have two workbooks in an application. Book "One" opens before "Two". (a macro does this.) There are functions and subs in general modules in book one, that I want to run from the Open event in book two. I don't want to have to copy the code and have it be in two 'places. Application.Run("MYCUSTOM.XLM!My_Func_Sum", 1, 5) I tried to modify the above application.run example from the help section. The line below was a flat out guess. Artemaint is the module containing the zpend_qtyf function which returns an integer. ' line below is to be part of a sub executing from the ' booktwo.xls open event. PendQty = Application.Run("bookone.xls(artemaint)!zpend_qtyf ") If it's possible, please provide an example of the correct syntax. I looked at the help for "Call" and it said nothing about what I'd like. The problem will go away when booktwo becomes an add-in for bookone, but I'm not there yet. As I write this, I'm heading into Walkenbach's book, but I'm not optimistic about finding a reference quickly. Thanks much. -- Neal Z |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
You don't need the module name, all you need is
PendQty = Application.Run("'bookone.xls'!zpend_qtyf") This does assume that zpend_qtyf is a function, not a sub, otherwise nothing will be returned into PenQty. -- HTH Bob Phillips (replace xxxx in the email address with gmail if mailing direct) "Neal Zimm" wrote in message ... Hi - I have two workbooks in an application. Book "One" opens before "Two". (a macro does this.) There are functions and subs in general modules in book one, that I want to run from the Open event in book two. I don't want to have to copy the code and have it be in two 'places. Application.Run("MYCUSTOM.XLM!My_Func_Sum", 1, 5) I tried to modify the above application.run example from the help section. The line below was a flat out guess. Artemaint is the module containing the zpend_qtyf function which returns an integer. ' line below is to be part of a sub executing from the ' booktwo.xls open event. PendQty = Application.Run("bookone.xls(artemaint)!zpend_qtyf ") If it's possible, please provide an example of the correct syntax. I looked at the help for "Call" and it said nothing about what I'd like. The problem will go away when booktwo becomes an add-in for bookone, but I'm not there yet. As I write this, I'm heading into Walkenbach's book, but I'm not optimistic about finding a reference quickly. Thanks much. -- Neal Z |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks Bob, will give it a try.
-- Neal Z "Bob Phillips" wrote: You don't need the module name, all you need is PendQty = Application.Run("'bookone.xls'!zpend_qtyf") This does assume that zpend_qtyf is a function, not a sub, otherwise nothing will be returned into PenQty. -- HTH Bob Phillips (replace xxxx in the email address with gmail if mailing direct) "Neal Zimm" wrote in message ... Hi - I have two workbooks in an application. Book "One" opens before "Two". (a macro does this.) There are functions and subs in general modules in book one, that I want to run from the Open event in book two. I don't want to have to copy the code and have it be in two 'places. Application.Run("MYCUSTOM.XLM!My_Func_Sum", 1, 5) I tried to modify the above application.run example from the help section. The line below was a flat out guess. Artemaint is the module containing the zpend_qtyf function which returns an integer. ' line below is to be part of a sub executing from the ' booktwo.xls open event. PendQty = Application.Run("bookone.xls(artemaint)!zpend_qtyf ") If it's possible, please provide an example of the correct syntax. I looked at the help for "Call" and it said nothing about what I'd like. The problem will go away when booktwo becomes an add-in for bookone, but I'm not there yet. As I write this, I'm heading into Walkenbach's book, but I'm not optimistic about finding a reference quickly. Thanks much. -- Neal Z |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
PendQty = Application.Run("bookone.xls!artemaint.zpend_qtyf" )
but if there is only one zpend_qtfy in bookone, then you don't need the module name PendQty = Application.Run("bookone.xls!zpend_qtyf") -- Regards, Tom Ogilvy "Neal Zimm" wrote in message ... Hi - I have two workbooks in an application. Book "One" opens before "Two". (a macro does this.) There are functions and subs in general modules in book one, that I want to run from the Open event in book two. I don't want to have to copy the code and have it be in two 'places. Application.Run("MYCUSTOM.XLM!My_Func_Sum", 1, 5) I tried to modify the above application.run example from the help section. The line below was a flat out guess. Artemaint is the module containing the zpend_qtyf function which returns an integer. ' line below is to be part of a sub executing from the ' booktwo.xls open event. PendQty = Application.Run("bookone.xls(artemaint)!zpend_qtyf ") If it's possible, please provide an example of the correct syntax. I looked at the help for "Call" and it said nothing about what I'd like. The problem will go away when booktwo becomes an add-in for bookone, but I'm not there yet. As I write this, I'm heading into Walkenbach's book, but I'm not optimistic about finding a reference quickly. Thanks much. -- Neal Z |
#7
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Dear Tom,
Again, many thanks. I thought Bob's answer might be a little "short". will try yours out asap. I'd love to give your replay the green useful check, but I'm not seeing it anymore on the reply screen I get, I'm not sure why. -- Neal Z "Tom Ogilvy" wrote: PendQty = Application.Run("bookone.xls!artemaint.zpend_qtyf" ) but if there is only one zpend_qtfy in bookone, then you don't need the module name PendQty = Application.Run("bookone.xls!zpend_qtyf") -- Regards, Tom Ogilvy "Neal Zimm" wrote in message ... Hi - I have two workbooks in an application. Book "One" opens before "Two". (a macro does this.) There are functions and subs in general modules in book one, that I want to run from the Open event in book two. I don't want to have to copy the code and have it be in two 'places. Application.Run("MYCUSTOM.XLM!My_Func_Sum", 1, 5) I tried to modify the above application.run example from the help section. The line below was a flat out guess. Artemaint is the module containing the zpend_qtyf function which returns an integer. ' line below is to be part of a sub executing from the ' booktwo.xls open event. PendQty = Application.Run("bookone.xls(artemaint)!zpend_qtyf ") If it's possible, please provide an example of the correct syntax. I looked at the help for "Call" and it said nothing about what I'd like. The problem will go away when booktwo becomes an add-in for bookone, but I'm not there yet. As I write this, I'm heading into Walkenbach's book, but I'm not optimistic about finding a reference quickly. Thanks much. -- Neal Z |
#8
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Bob's answer was pretty much the same as my second suggestion.
While he didn't need it for the sample names you provided (no space in the name), he did raise a good point by including the single quotes which are necessary if there is a space in the workbook name. so if the workbook name was "Book One.xls" then PendQty = Application.Run("'book one.xls'!artemaint.zpend_qtyf") as a restatement. -- Regards, Tom Ogilvy "Neal Zimm" wrote in message ... Dear Tom, Again, many thanks. I thought Bob's answer might be a little "short". will try yours out asap. I'd love to give your replay the green useful check, but I'm not seeing it anymore on the reply screen I get, I'm not sure why. -- Neal Z "Tom Ogilvy" wrote: PendQty = Application.Run("bookone.xls!artemaint.zpend_qtyf" ) but if there is only one zpend_qtfy in bookone, then you don't need the module name PendQty = Application.Run("bookone.xls!zpend_qtyf") -- Regards, Tom Ogilvy "Neal Zimm" wrote in message ... Hi - I have two workbooks in an application. Book "One" opens before "Two". (a macro does this.) There are functions and subs in general modules in book one, that I want to run from the Open event in book two. I don't want to have to copy the code and have it be in two 'places. Application.Run("MYCUSTOM.XLM!My_Func_Sum", 1, 5) I tried to modify the above application.run example from the help section. The line below was a flat out guess. Artemaint is the module containing the zpend_qtyf function which returns an integer. ' line below is to be part of a sub executing from the ' booktwo.xls open event. PendQty = Application.Run("bookone.xls(artemaint)!zpend_qtyf ") If it's possible, please provide an example of the correct syntax. I looked at the help for "Call" and it said nothing about what I'd like. The problem will go away when booktwo becomes an add-in for bookone, but I'm not there yet. As I write this, I'm heading into Walkenbach's book, but I'm not optimistic about finding a reference quickly. Thanks much. -- Neal Z |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
How to call macro from other workbook | Excel Programming | |||
Call Macro from another WorkBook? | Excel Programming | |||
How can I call a macro in another workbook? | Excel Programming | |||
Open Another Workbook and Call Macro | Excel Programming | |||
Call a macro in other workbook | Excel Programming |