Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
This is my problem:
I have two lines of statement in my VBA code as follows: __________________________________________ line1: Shell("net use \\fs1\ipc$") line2: Set db = OpenDatabase("\\fs1\test\abc.mdb", False, True, "MS Access;PWD=12345") Other lines follow here.... _________________________________________ When I execute the VBA code, sometimes I get a handle to the database and sometimes I dont (I get a runtime error 3051 because there is a delay in getting the handle to the database due to slow network). When I debug this line by line, I dont get any error message. I want to make Excel complete executing LINE1 (however long it takes on a slow network) and then execute LINE2 . How do I make Excel do this? I have been researching on this for the last 3 days. If anyone here can help me on this, this would be of great help to me! Thanks in Advance! |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Nick - Excellent! Thank you. Thats exactly what I wanted to know.
I do not want to use the Application.wait statement as a 10 second / 30 second delay would make my customers feel that I am doing a sloppy job in my code. How I can use API calls to connect to the File Server instead of using this Shell statement to do the same? Thank you so much. Regards, Ravi "Nick Hodge" wrote: You cannot stop Excel from executing the next line as the Shell function runs asynchronously. You could use Application.Wait so you put a delay in that would ensure, barring crashes that the application was open, e.g (30 sec delay) Application.Wait(Now + TimeValue("0:00:30")) I supect you could use an API call but this could be a complicated route -- HTH Nick Hodge Microsoft MVP - Excel Southampton, England HIS "vrk1" wrote in message ... This is my problem: I have two lines of statement in my VBA code as follows: __________________________________________ line1: Shell("net use \\fs1\ipc$") line2: Set db = OpenDatabase("\\fs1\test\abc.mdb", False, True, "MS Access;PWD=12345") Other lines follow here.... _________________________________________ When I execute the VBA code, sometimes I get a handle to the database and sometimes I dont (I get a runtime error 3051 because there is a delay in getting the handle to the database due to slow network). When I debug this line by line, I dont get any error message. I want to make Excel complete executing LINE1 (however long it takes on a slow network) and then execute LINE2 . How do I make Excel do this? I have been researching on this for the last 3 days. If anyone here can help me on this, this would be of great help to me! Thanks in Advance! |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Here are a couple of options:
http://support.microsoft.com/?kbid=214248 XL2000: How to Force Macro Code to Wait for Outside Procedure And Here's a link to a nice ShellAndWait function that does that. http://groups.google.com/groups?thre...%40tkmsftngp03 vrk1 wrote: Nick - Excellent! Thank you. Thats exactly what I wanted to know. I do not want to use the Application.wait statement as a 10 second / 30 second delay would make my customers feel that I am doing a sloppy job in my code. How I can use API calls to connect to the File Server instead of using this Shell statement to do the same? Thank you so much. Regards, Ravi "Nick Hodge" wrote: You cannot stop Excel from executing the next line as the Shell function runs asynchronously. You could use Application.Wait so you put a delay in that would ensure, barring crashes that the application was open, e.g (30 sec delay) Application.Wait(Now + TimeValue("0:00:30")) I supect you could use an API call but this could be a complicated route -- HTH Nick Hodge Microsoft MVP - Excel Southampton, England HIS "vrk1" wrote in message ... This is my problem: I have two lines of statement in my VBA code as follows: __________________________________________ line1: Shell("net use \\fs1\ipc$") line2: Set db = OpenDatabase("\\fs1\test\abc.mdb", False, True, "MS Access;PWD=12345") Other lines follow here.... _________________________________________ When I execute the VBA code, sometimes I get a handle to the database and sometimes I dont (I get a runtime error 3051 because there is a delay in getting the handle to the database due to slow network). When I debug this line by line, I dont get any error message. I want to make Excel complete executing LINE1 (however long it takes on a slow network) and then execute LINE2 . How do I make Excel do this? I have been researching on this for the last 3 days. If anyone here can help me on this, this would be of great help to me! Thanks in Advance! -- Dave Peterson |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Ravi
You'll likely find something in this or other archived threads http://tinyurl.com/cteja -- HTH Nick Hodge Microsoft MVP - Excel Southampton, England HIS "vrk1" wrote in message ... Nick - Excellent! Thank you. Thats exactly what I wanted to know. I do not want to use the Application.wait statement as a 10 second / 30 second delay would make my customers feel that I am doing a sloppy job in my code. How I can use API calls to connect to the File Server instead of using this Shell statement to do the same? Thank you so much. Regards, Ravi "Nick Hodge" wrote: You cannot stop Excel from executing the next line as the Shell function runs asynchronously. You could use Application.Wait so you put a delay in that would ensure, barring crashes that the application was open, e.g (30 sec delay) Application.Wait(Now + TimeValue("0:00:30")) I supect you could use an API call but this could be a complicated route -- HTH Nick Hodge Microsoft MVP - Excel Southampton, England HIS "vrk1" wrote in message ... This is my problem: I have two lines of statement in my VBA code as follows: __________________________________________ line1: Shell("net use \\fs1\ipc$") line2: Set db = OpenDatabase("\\fs1\test\abc.mdb", False, True, "MS Access;PWD=12345") Other lines follow here.... _________________________________________ When I execute the VBA code, sometimes I get a handle to the database and sometimes I dont (I get a runtime error 3051 because there is a delay in getting the handle to the database due to slow network). When I debug this line by line, I dont get any error message. I want to make Excel complete executing LINE1 (however long it takes on a slow network) and then execute LINE2 . How do I make Excel do this? I have been researching on this for the last 3 days. If anyone here can help me on this, this would be of great help to me! Thanks in Advance! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
need formula to return data from one column after comparing 2 othe | Excel Worksheet Functions | |||
Not enough memory to run Microsoft Office Excel. Please close othe | Excel Discussion (Misc queries) | |||
Not enough memory to run Microsoft Office Excel. Please close othe | Excel Discussion (Misc queries) | |||
how do you shade every othe row in excel 2007 | Excel Discussion (Misc queries) | |||
put on a eliptical fit for x-y points without a, b, e or the othe. | Excel Programming |