ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   vba to loop until process finished (https://www.excelbanter.com/excel-programming/391341-vba-loop-until-process-finished.html)

[email protected]

vba to loop until process finished
 
Hi,

I'm not so hot on DOS commands so thought I'd better consult!


I'm launching an application from vba then instructing it to run it's
own script as follows:


***


Set oSplus = CreateObject("S-PLUS.Application")
oSplus.executestring ("source(""c:\\" & scriptToRun & """,
echo=T)")


***


The script that the application ( splus) runs takes a looong time at
the end of which S plus closes. I want the launching vba to wait
until
excel closes (i.e, sit in a loop for a while) before continuing in
its own execution.


Not sure how to do this - any pointers would be greatfully
recieved...


Many thanks


Chris


NickHK

vba to loop until process finished
 
Depends on what this S-Plus exposes.
Does it have a asynchronous/background property that you can set to false ?
Or does it raise any events like ScriptComplete that you can react to ?

NickHK

wrote in message
oups.com...
Hi,

I'm not so hot on DOS commands so thought I'd better consult!


I'm launching an application from vba then instructing it to run it's
own script as follows:


***


Set oSplus = CreateObject("S-PLUS.Application")
oSplus.executestring ("source(""c:\\" & scriptToRun & """,
echo=T)")


***


The script that the application ( splus) runs takes a looong time at
the end of which S plus closes. I want the launching vba to wait
until
excel closes (i.e, sit in a loop for a while) before continuing in
its own execution.


Not sure how to do this - any pointers would be greatfully
recieved...


Many thanks


Chris




[email protected]

vba to loop until process finished
 
Thanks for replying Nick,

Not entirely sure to be honest... I was hoping there would be a way to
get it's dos handle and poll until that disapeared? I think I can do
this if I Shell() the S plus to start it, but don't really want to do
that.

The quick hack is to add to the S plus script to create a file once
its finished then poll on the existance of that file - but that seems
inelegant.

Chris


On Jun 15, 4:25 am, "NickHK" wrote:
Depends on what this S-Plus exposes.
Does it have a asynchronous/background property that you can set to false ?
Or does it raise any events like ScriptComplete that you can react to ?

NickHK

wrote in message

oups.com...



Hi,


I'm not so hot on DOS commands so thought I'd better consult!


I'm launching an application from vba then instructing it to run it's
own script as follows:


***


Set oSplus = CreateObject("S-PLUS.Application")
oSplus.executestring ("source(""c:\\" & scriptToRun & """,
echo=T)")


***


The script that the application ( splus) runs takes a looong time at
the end of which S plus closes. I want the launching vba to wait
until
excel closes (i.e, sit in a loop for a while) before continuing in
its own execution.


Not sure how to do this - any pointers would be greatfully
recieved...


Many thanks


Chris- Hide quoted text -


- Show quoted text -




NickHK

vba to loop until process finished
 
But as this is an Active component, which you are using COM with, you may as
well check out it available properties.
Use the Object Browser in VBA.

Otherwise, maybe one of the examples of ShellAndWait on the web will do.

NickHK

wrote in message
ps.com...
Thanks for replying Nick,

Not entirely sure to be honest... I was hoping there would be a way to
get it's dos handle and poll until that disapeared? I think I can do
this if I Shell() the S plus to start it, but don't really want to do
that.

The quick hack is to add to the S plus script to create a file once
its finished then poll on the existance of that file - but that seems
inelegant.

Chris


On Jun 15, 4:25 am, "NickHK" wrote:
Depends on what this S-Plus exposes.
Does it have a asynchronous/background property that you can set to

false ?
Or does it raise any events like ScriptComplete that you can react to ?

NickHK

wrote in message

oups.com...



Hi,


I'm not so hot on DOS commands so thought I'd better consult!


I'm launching an application from vba then instructing it to run it's
own script as follows:


***


Set oSplus = CreateObject("S-PLUS.Application")
oSplus.executestring ("source(""c:\\" & scriptToRun & """,
echo=T)")


***


The script that the application ( splus) runs takes a looong time at
the end of which S plus closes. I want the launching vba to wait
until
excel closes (i.e, sit in a loop for a while) before continuing in
its own execution.


Not sure how to do this - any pointers would be greatfully
recieved...


Many thanks


Chris- Hide quoted text -


- Show quoted text -







All times are GMT +1. The time now is 05:25 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com