calling a C++ program from Excel 2000 and passing a result from C++ back to an excel spreadsheet

E

ellis kurland

I have an excel spreadsheet and call a C++ program from a VBA macro using
the command below. (I am not using visual C++ but a command line driven
version, Borland C++ compiler)

retval = Shell ("c:\options\options1.exe", vbNormalFocus)


What I want to be able to do is to pass some of the values in my excel
spreadhseet to the C++ program when calling it. There are 5
variables(spreadsheet cells) whose numerical values I want to pass across to
the program.

Once the C++ program has run I want to put a value that it caluculates in to
a cell in my excel spreadsheet.

Any help much appreciated please.

Many thanks
 
J

Jim Rech

The Shell function does not provide for passing parameters to the called
program (see Help). I suppose you could write out your variables to a file
or to the registry. Similarly on return.

--
Jim
|I have an excel spreadsheet and call a C++ program from a VBA macro using
| the command below. (I am not using visual C++ but a command line driven
| version, Borland C++ compiler)
|
| retval = Shell ("c:\options\options1.exe", vbNormalFocus)
|
|
| What I want to be able to do is to pass some of the values in my excel
| spreadhseet to the C++ program when calling it. There are 5
| variables(spreadsheet cells) whose numerical values I want to pass across
to
| the program.
|
| Once the C++ program has run I want to put a value that it caluculates in
to
| a cell in my excel spreadsheet.
|
| Any help much appreciated please.
|
| Many thanks
|
|
 
A

actcomp

Thanks Jim.

Using files would do it. Using registry sounds a bit neater but I do
not know how to use write values from c++ program to the registry and
how the excel spreadsheet would then pick up these values. Similarly do
not know how to write values from the spreadsheet to the registry and
how the c++ program would "read" them.

Any further thoughts please?

Thanks
 
J

Jim Rech

Writing to the registry from Excel and reading the registry from Excel can
be done in several ways. Using the GetSetting and SaveSetting functions
that are built into VBA (see Help) are the simplest. They used a fixed
location (HKEY_CURRENT_USER\Software\VB and VBA Program Settings) but that's
okay.

I don't program in C++ but surely you can do a web search to find examples
of accessing the registry with it<g>.

--
Jim
| Thanks Jim.
|
| Using files would do it. Using registry sounds a bit neater but I do
| not know how to use write values from c++ program to the registry and
| how the excel spreadsheet would then pick up these values. Similarly do
| not know how to write values from the spreadsheet to the registry and
| how the c++ program would "read" them.
|
| Any further thoughts please?
|
| Thanks
|
| Jim Rech wrote:
| > The Shell function does not provide for passing parameters to the called
| > program (see Help). I suppose you could write out your variables to a
file
| > or to the registry. Similarly on return.
| >
| > --
| > Jim
| > | > |I have an excel spreadsheet and call a C++ program from a VBA macro
using
| > | the command below. (I am not using visual C++ but a command line
driven
| > | version, Borland C++ compiler)
| > |
| > | retval = Shell ("c:\options\options1.exe", vbNormalFocus)
| > |
| > |
| > | What I want to be able to do is to pass some of the values in my excel
| > | spreadhseet to the C++ program when calling it. There are 5
| > | variables(spreadsheet cells) whose numerical values I want to pass
across
| > to
| > | the program.
| > |
| > | Once the C++ program has run I want to put a value that it caluculates
in
| > to
| > | a cell in my excel spreadsheet.
| > |
| > | Any help much appreciated please.
| > |
| > | Many thanks
| > |
| > |
|
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top