The application I am writing involves creating a dos batch file and executing it using the 'Shell' command.

The batch file is used to zip up multiple files.

The zip file that is created is them emailed.

:?: My problem is - creating a pause within the application so the zip file can be created. I have tried a simple pause (for t=1 to 100000: next t). I know this isnt the best way to do it.

:!: The zip file could take between 0.5 to 30 seconds to create.

Any help would be great.
Cheers
PG

Recommended Answers

All 5 Replies

Are You trying to make the batch file pause, or the VB Program wait until the batch file is done? If you are trying to wait until the batch file is done, don't use shell. (you can use shell, but it's a lot more code than this here). Use WSH within VB, as such:

dim wsh
set wsh = createobject("WScript.Shell")
wsh.Run "c:\somebatchfile.bat", 0, 1

Hi,
Whats the ,0,1 used for?

0, makes it hide the window, so that it doesn't show up to the user (otherwise, they'd get some stupid dos window).
1, makes the Run Method of the WSH Object wait until the spawning process completes, before continuing on.

Works like a dream.

Thanks

;) Good Stuff.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.