Code is Running Too Fast

V

Viswanath Tumu

I am encountering a situation where my visual basic for
applications code is running too fast, i.e., it is not
waiting until the previous part of the code is completed
before moving to the next line. For example, in line 1, I
am issuing code to create a folder and in line 2, I am
issuing code to access the foler created at line 1 -
however, the code is jumping to line 2 before line 1 has
completed its job of creating a new folder, with the
result that I am receiving a Folder not found error which
should not arise had the code waited for line 1 to
complete before executing line 2. I tried to include
the 'Wait' method of a few seconds delay between line 1
and 2 but it still does not work frequently. Why is this
happenning? Is there a way to make the code to go slow,
to go one line at a time? Appreciate any comments.
 
B

Bob Flanagan

Try:

While If Dir(sSDirectory, vbDirectory) = ""
Application.Wait Now() + TimeSerial(0, 0, 1)
Wend

Bob Flanagan
Macro Systems
http://www.add-ins.com
Productivity add-ins and downloadable books on VB macros for Excel
 
D

Dana DeLouis

Having your code to create a Directory as a function seems to work on my
system. A return code of 0 indicates the Folder was added. You could test
this code if you want.

When I run "MyCode", it returns the following. The 0 indicates the Folder
was added, and the "Temp7" indicates that the folder exists. Not sure what
other timing issues might be though.

0
Temp7

Function MakeDir(s As String)
On Error Resume Next
MkDir s
MakeDir = Err.Number
End Function


Sub MyCode()
Dim Result
Dim sFolder As String

sFolder = "C:\Temp7"

Debug.Print MakeDir(sFolder)
Debug.Print Dir(sFolder, vbDirectory)
End Sub

HTH
Dana DeLouis
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top