0

I am running a c# console application from within Excel using the line of code below. The code is working fine. The process takes about 20 seconds to run. I was wondering how I get my vba code to wait for the c# application to finish before continuing execution of the code following this line?

I do not want to use a pause or similar function.

 Dim id As Integer
 id=Shell("""C:\MyFolder\bin\Debug\MyApp.exe"" /PARA1 " & p1 & " /PARA2 " & p2, vbNormalFocus)
3

1 Answer 1

2

You could try this code (inspired from this post):

Dim id As Integer
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1

id = wsh.Run("""C:\MyFolder\bin\Debug\MyApp.exe"" /PARA1 " & p1 & " /PARA2 " & p2, windowStyle, waitOnReturn)
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.