Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default How do I execute other application(*.exe) from VBA(Excel) ?

I am programming by VBA with Excel and I need to execute an executable
application, which is compiled and saved as "Ap1.exe" by other some compiler.

How can I start "Ap1.exe" from a VBA program.
OS: Windows XP,
Application: Excel 2003
--
SUZUKI
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default How do I execute other application(*.exe) from VBA(Excel) ?


-*Shell "C:\windows\ap1.exe", vbNormalFocus*-

Unless Ap1.exe is located in a folder that's in the system path, you'll
have to specify the full path to the file.


--
robertdeniro
------------------------------------------------------------------------
robertdeniro's Profile: http://www.excelforum.com/member.php...o&userid=14173
View this thread: http://www.excelforum.com/showthread...hreadid=396096

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default How do I execute other application(*.exe) from VBA(Excel) ?

SUZUKI

"robertdeniro" wrote:
-*Shell "C:\windows\ap1.exe", vbNormalFocus*-


Thanks a lot.
Your answer is very helpfull and now I can exute "Ap1.exe" from VBA.

Another question arose in using function "shell".

How can I make VBA program wait until Ap1.exe terminates its execution.
Ap1.exe will operate automatically; it will calculate, output the result
to a text file, close the result file, and then terminate its execution
automatically.
It takes about 1 second for an execution of Ap1.exe.
I want to let VBA program wait before proceeding to Line4.
I want to read the result file written by Ap1.exe and process by VBA.
It is needed to repeat this cycle so many times.

---------------------------------------------------------------
Sub test1
Line1: FOR I=1 TO 1000
Line2: cells(1,1)="starting Ap1.exe" ' displaying cell "A1" in Excel
worksheet
Line3: Shell "C:\windows\ap1.exe", vbNormalFocus
Line4: cells(1,1)="terminated execution of Ap1.exe"
Line5: call read_calculation_result_file
Line6: call process_calculation_result
Line7: NEXT I
End Sub
---------------------------------------------------------------

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 8
Default How do I execute other application(*.exe) from VBA(Excel) ?

SUZUKI wrote:
SUZUKI

"robertdeniro" wrote:

-*Shell "C:\windows\ap1.exe", vbNormalFocus*-



Thanks a lot.
Your answer is very helpfull and now I can exute "Ap1.exe" from VBA.

Another question arose in using function "shell".

How can I make VBA program wait until Ap1.exe terminates its execution.
Ap1.exe will operate automatically; it will calculate, output the result
to a text file, close the result file, and then terminate its execution
automatically.
It takes about 1 second for an execution of Ap1.exe.
I want to let VBA program wait before proceeding to Line4.
I want to read the result file written by Ap1.exe and process by VBA.
It is needed to repeat this cycle so many times.

---------------------------------------------------------------
Sub test1
Line1: FOR I=1 TO 1000
Line2: cells(1,1)="starting Ap1.exe" ' displaying cell "A1" in Excel
worksheet
Line3: Shell "C:\windows\ap1.exe", vbNormalFocus
Line4: cells(1,1)="terminated execution of Ap1.exe"
Line5: call read_calculation_result_file
Line6: call process_calculation_result
Line7: NEXT I
End Sub
---------------------------------------------------------------

----------------------

Can you just try to open the output file, and if an error is detected loop back
and try again ... and again? Maybe wait 1 second first before starting the looping?

Bill
  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default How do I execute other application(*.exe) from VBA(Excel) ?

SUZUKI

"Bill Martin -- (Remove NOSPAM from addre" wrote:
Can you just try to open the output file, and if an error is detected loop back
and try again ... and again? Maybe wait 1 second first before starting the looping?
Bill


Thanks a lot.
I am very glad to know very simple and easy method presented by you.
This method, however, may consume CPU resource, and errors of too many
times may cause some trouble.
Is there more elegant and safe way to let VBA program idle until
Ap1.exe terminates.



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default How do I execute other application(*.exe) from VBA(Excel) ?


SUZUKI Wrote:
SUZUKI
Thanks a lot.
I am very glad to know very simple and easy method presented by you.
This method, however, may consume CPU resource, and errors of too many
times may cause some trouble.
Is there more elegant and safe way to let VBA program idle until
Ap1.exe terminates.


This would require using API functions to make a snapshot and AP
process functions
you can find information on: URL: 'API page' (http://www.allapi.net/

--
Dnere
-----------------------------------------------------------------------
Dnereb's Profile: http://www.excelforum.com/member.php...fo&userid=2618
View this thread: http://www.excelforum.com/showthread.php?threadid=39609

  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default How do I execute other application(*.exe) from VBA(Excel) ?

Thanks a lot for infomation on API.
Now, I underatand that I should learn API.
--
SUZUKI

  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default How do I execute other application(*.exe) from VBA(Excel) ?

Hello,
I also tried this, and initially it appeared to work. my executable is a
compiled fortran program. The executable works ok when I run it outside of
Excel, but when I use the shell command, it doesnt.

Sub run_for()
Dim retApp As Double
retApp = Shell("L:\methods\for.exe", vbMinimizedFocus)

End Sub

The .exe accesses an input file from within L:\methods. When I execute from
the subroutine, does it need a full pathname in the exe as opposed to just
the filename?

Bird


"robertdeniro" wrote:


-*Shell "C:\windows\ap1.exe", vbNormalFocus*-

Unless Ap1.exe is located in a folder that's in the system path, you'll
have to specify the full path to the file.


--
robertdeniro
------------------------------------------------------------------------
robertdeniro's Profile: http://www.excelforum.com/member.php...o&userid=14173
View this thread: http://www.excelforum.com/showthread...hreadid=396096


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
macro to close excel application other than application.quit mary Excel Programming 1 September 14th 04 03:43 PM
Application level events no longer execute R Avery Excel Programming 1 June 4th 04 01:21 AM
tried to execute application from VBA Domagoj Vulin[_2_] Excel Programming 0 July 23rd 03 09:58 PM
tried to execute application from VBA Tom Ogilvy Excel Programming 1 July 23rd 03 09:56 PM
tried to execute application from VBA Bill Lunney Excel Programming 0 July 23rd 03 02:05 PM


All times are GMT +1. The time now is 11:23 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"