Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 25
Default How to force Excel to complete one statement before executing othe

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 25
Default How to force Excel to complete one statement before executing

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,758
Default How to force Excel to complete one statement before executing

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   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,173
Default How to force Excel to complete one statement before executing

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
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
need formula to return data from one column after comparing 2 othe Jeff W Excel Worksheet Functions 3 February 21st 08 02:25 PM
Not enough memory to run Microsoft Office Excel. Please close othe Krishna Prasad RVS Excel Discussion (Misc queries) 0 December 7th 07 09:35 AM
Not enough memory to run Microsoft Office Excel. Please close othe Krishna Prasad RVS Excel Discussion (Misc queries) 0 December 7th 07 09:33 AM
how do you shade every othe row in excel 2007 Ted @ Hirschmann Excel Discussion (Misc queries) 2 April 7th 07 09:34 AM
put on a eliptical fit for x-y points without a, b, e or the othe. ttopchu Excel Programming 0 November 5th 04 11:07 PM


All times are GMT +1. The time now is 03:02 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"