Seems to me that the command isn't actually being executed by the Shell
function.
To ensure the command you expect is being executed by Shell I would
breakpoint the line:
MyRun = Shell(f & "\test_dll.exe", 1)
Then in the debug window:
? f & "\test_dll.exe"
Now open up a command prompt by typing run then CMD and type in the result
EXACTLY as this is what Shell will do.
I say use a command prompt as if it's a compiled fortran program without a
UI you will be able to see what's going on without the window just flashing
on screen.
If this works you at least have a starting point for further investigation.
http://www.billlunney.com/Excel/FAQ/...?ExcelFAQID=41
--
Regards,
Bill Lunney
www.billlunney.com
"Domagoj Vulin" wrote in message
...
I have Excel sheets and small Fortran application. I made a VBA macro that
saves input data for Fortran exe into a .txt file.
After that, I used Shell function in VBA macro tu execute FOR application
and there is no error message, but there's neither a output TXT file that
this FOR application usually creates.
I looked in the folder where are all the files (Workbook, input TXT that
macro created, Fortran EXE) and there is no output TXT file. Then, if I
started that Fortran.exe from windows it creates the output file from that
input file that I already created using the mentioned macro.
I tried to find more about Shell function, but there is only a simple
example that starts calc.exe from VBA macro.
However, here is the critical part of code:
...
Set filFile = fso.OpenTextFile(f & "\input.txt", 2, 1)
filFile.WriteLine MP
filFile.Close
Set filFile = Nothing
Set fso = Nothing
MyRun = Shell(f & "\test_dll.exe", 1)
Maybe the Shell function starts before the input.txt file is actually
closed, i don't know...
Thanks in advance