Shell doesn't wait for anything. It simply starts the program
and VBA code execution move to the next line of code. If it takes
some time to fully open your application, you could use
Application.Wait to pause Excel, giving the program enough time
to fully start up.
Shell "your_program.exe"
Application.Wait Now + TimeSerial(0, 0, 15) 'wait 15 seconds
' more code
The code above will start "your_program.exe" then wait for 15
seconds, giving your_program.exe time to fully get itself
together, then continue on with VBA code. Change the 15 to the
number of seconds you feel is appropriate.
--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com
message