"shelling" an application this way probably isn't the
best route for you.
In
VB
DIM XLapp as ExcelApplication
or
DIM XLapp as Object
then SET the variable to excel.application or, if the
variable is obkect, use the createobject method.
Now you've got a handle on the application you can open
any known wotkbook
DIM WB as Excel.Workbook
SET WB = XLapp.Workbooks.Open(wb_fullpath)
the WB variable can be an object or workbook. However,
you naw have a handle on the workbook.
To run a macro just call it, for example:-
XLApp.Run "Main", sControlDate, tsLog, Traders, Exports
the syntax is
.RUN proc name [,parameter 1][,parameter2][....]
This gives you absolute control over Excel.
Remeber to clean up...
WBClose False
XLApp.Quit
set WB = Nothing
set XLapp = Nothing
HTH
Patrick Molloy
Microsoft Excel MVP
-----Original Message-----
I currently run macros from a VB application, and my
code within
the app looks something like:
ShellExecute(0&, vbNullString, "excel", q &
file_to_operate_on & q & q & file_macro_is_in & q,
vbNullString, vbNormalFocus)
However, I wanted to ask, suppose file_macro_is_in has
many macros defined
in it, and I want to execute only one particular one.
Does Excel have any
command line arguments that would allow me to do this?
For instance,
making something along the lines of the following
possible:
ShellExecute(0&, vbNullString, "excel", q &
file_to_operate_on & q & q & file_macro_is_in & q & "-
mymacroname", vbNullString, vbNormalFocus)
Also, so that I don't ask too many questions that could
probably be answered
by some reading, can anyone recommend a source for
thorough documentation
on the Excel API + command line arguments to Excel?
Thank you.
.