Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 20
Default Change mouse to "busy" pointer when I bring up a form

In the application that I'm working on (in VBA in Excel), there's one point
where, if the user clicks a certain button on the application, it brings up
a form that asks the user to fill in some information. When they click OK,
it processes that information (including copying a bunch of data), which
tends to take as long as 5-10 minutes.


I'd like, when they click the "OK" button that while it's processing, it
will change the pointer to a "busy" pointer. I've got code to do that, but
it does not appear to be working as planned.


Here's the code I'm using (in the code section of one of the Excel
worksheets):

strName = ""
Load frmName
frmName.Show

frmName.MousePointer = fmMousePointerHourGlass ' Set mouse to busy
pointer

' do all of the processing needed, based on data in strName

frmName.MousePointer = fmMousePointerDefault ' Set mouse back to
normal



In frmName, in the cmdOK_Click() sub, the code is simply:

strName = txtName.Value
Unload Me



What am I missing? Should I be using a different object than frmName for
setting the MousePointer stuff?


Thanks!
-Scott


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Change mouse to "busy" pointer when I bring up a form

Have you moved the mouse off the Userform. The Userform and each control
has a Mousepointer property that specifies the mouse icon when the mouse is
over that item - perhaps that is overriding your setting.

--
Regards,
Tom Ogilvy


"Scott Lyon" <scott.lyonNOSPAM_at__NOSPAMrapistan.comNOSPAM wrote in
message ...
In the application that I'm working on (in VBA in Excel), there's one

point
where, if the user clicks a certain button on the application, it brings

up
a form that asks the user to fill in some information. When they click OK,
it processes that information (including copying a bunch of data), which
tends to take as long as 5-10 minutes.


I'd like, when they click the "OK" button that while it's processing, it
will change the pointer to a "busy" pointer. I've got code to do that, but
it does not appear to be working as planned.


Here's the code I'm using (in the code section of one of the Excel
worksheets):

strName = ""
Load frmName
frmName.Show

frmName.MousePointer = fmMousePointerHourGlass ' Set mouse to busy
pointer

' do all of the processing needed, based on data in strName

frmName.MousePointer = fmMousePointerDefault ' Set mouse back to
normal



In frmName, in the cmdOK_Click() sub, the code is simply:

strName = txtName.Value
Unload Me



What am I missing? Should I be using a different object than frmName for
setting the MousePointer stuff?


Thanks!
-Scott




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 20
Default Change mouse to "busy" pointer when I bring up a form

I was hoping I could force the busy pointer whenever the mouse was over the
entire Excel spreadsheet. However, I cannot seem to find the correct
MousePointer property to do so.


Thanks!
-Scott


"Tom Ogilvy" wrote in message
...
Have you moved the mouse off the Userform. The Userform and each control
has a Mousepointer property that specifies the mouse icon when the mouse

is
over that item - perhaps that is overriding your setting.

--
Regards,
Tom Ogilvy


"Scott Lyon" <scott.lyonNOSPAM_at__NOSPAMrapistan.comNOSPAM wrote in
message ...
In the application that I'm working on (in VBA in Excel), there's one

point
where, if the user clicks a certain button on the application, it brings

up
a form that asks the user to fill in some information. When they click

OK,
it processes that information (including copying a bunch of data), which
tends to take as long as 5-10 minutes.


I'd like, when they click the "OK" button that while it's processing, it
will change the pointer to a "busy" pointer. I've got code to do that,

but
it does not appear to be working as planned.


Here's the code I'm using (in the code section of one of the Excel
worksheets):

strName = ""
Load frmName
frmName.Show

frmName.MousePointer = fmMousePointerHourGlass ' Set mouse to

busy
pointer

' do all of the processing needed, based on data in strName

frmName.MousePointer = fmMousePointerDefault ' Set mouse back

to
normal



In frmName, in the cmdOK_Click() sub, the code is simply:

strName = txtName.Value
Unload Me



What am I missing? Should I be using a different object than frmName for
setting the MousePointer stuff?


Thanks!
-Scott






  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 620
Default Change mouse to "busy" pointer when I bring up a form

Scott,

The problem is due to where you are setting the pointer. You show the form
and then issue the pointer command in that module. However, the form show
passes control to the form, and until that is completed the pointer command
does not get executed.

What you need to do is put the command in the form activate code, for
instance

Private Sub UserForm_Activate()
frmName.MousePointer = fmMousePointerHourGlass
End Sub

You will also need to ensure it gets reset, so put that in the QueryClose
event

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
frmName.MousePointer = fmMousePointerDefault
End Sub


--

HTH

Bob Phillips

"Scott Lyon" <scott.lyonNOSPAM_at__NOSPAMrapistan.comNOSPAM wrote in
message ...
In the application that I'm working on (in VBA in Excel), there's one

point
where, if the user clicks a certain button on the application, it brings

up
a form that asks the user to fill in some information. When they click OK,
it processes that information (including copying a bunch of data), which
tends to take as long as 5-10 minutes.


I'd like, when they click the "OK" button that while it's processing, it
will change the pointer to a "busy" pointer. I've got code to do that, but
it does not appear to be working as planned.


Here's the code I'm using (in the code section of one of the Excel
worksheets):

strName = ""
Load frmName
frmName.Show

frmName.MousePointer = fmMousePointerHourGlass ' Set mouse to busy
pointer

' do all of the processing needed, based on data in strName

frmName.MousePointer = fmMousePointerDefault ' Set mouse back to
normal



In frmName, in the cmdOK_Click() sub, the code is simply:

strName = txtName.Value
Unload Me



What am I missing? Should I be using a different object than frmName for
setting the MousePointer stuff?


Thanks!
-Scott




  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Change mouse to "busy" pointer when I bring up a form

Building on Bob's recommendation, I created a userform with two buttons.

Private Sub CommandButton1_Click()
If frmname.MousePointer = fmMousePointerHourGlass Then
frmname.MousePointer = fmMousePointerDefault
Application.Cursor = xlDefault
Else
frmname.MousePointer = fmMousePointerHourGlass
Application.Cursor = xlWait
End If
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub UserForm_Activate()
frmname.MousePointer = fmMousePointerHourGlass
Application.Cursor = xlWait
End Sub


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
frmname.MousePointer = fmMousePointerDefault
Application.Cursor = xlDefault
End Sub

So clicking commandbutton1, toggled the cursor display for both the
worksheet and userform.

--
Regards,
Tom Ogilvy

"Scott Lyon" <scott.lyonNOSPAM_at__NOSPAMrapistan.comNOSPAM wrote in
message ...
I was hoping I could force the busy pointer whenever the mouse was over

the
entire Excel spreadsheet. However, I cannot seem to find the correct
MousePointer property to do so.


Thanks!
-Scott


"Tom Ogilvy" wrote in message
...
Have you moved the mouse off the Userform. The Userform and each

control
has a Mousepointer property that specifies the mouse icon when the mouse

is
over that item - perhaps that is overriding your setting.

--
Regards,
Tom Ogilvy


"Scott Lyon" <scott.lyonNOSPAM_at__NOSPAMrapistan.comNOSPAM wrote in
message ...
In the application that I'm working on (in VBA in Excel), there's one

point
where, if the user clicks a certain button on the application, it

brings
up
a form that asks the user to fill in some information. When they click

OK,
it processes that information (including copying a bunch of data),

which
tends to take as long as 5-10 minutes.


I'd like, when they click the "OK" button that while it's processing,

it
will change the pointer to a "busy" pointer. I've got code to do that,

but
it does not appear to be working as planned.


Here's the code I'm using (in the code section of one of the Excel
worksheets):

strName = ""
Load frmName
frmName.Show

frmName.MousePointer = fmMousePointerHourGlass ' Set mouse to

busy
pointer

' do all of the processing needed, based on data in strName

frmName.MousePointer = fmMousePointerDefault ' Set mouse back

to
normal



In frmName, in the cmdOK_Click() sub, the code is simply:

strName = txtName.Value
Unload Me



What am I missing? Should I be using a different object than frmName

for
setting the MousePointer stuff?


Thanks!
-Scott








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
Shortcut to switch from "fill down" to "copy" with mouse drag RJ Dake Excel Discussion (Misc queries) 3 August 13th 09 05:35 PM
function to return day in the form "Monday", "Tuesday" etc given . MTro Excel Worksheet Functions 2 October 3rd 07 09:49 AM
change "true" and "false" to "availble" and "out of stock" inthestands Excel Worksheet Functions 2 July 19th 07 07:05 PM
Exporting from Quickbooks - "busy program" Lisa F. Excel Discussion (Misc queries) 2 June 1st 07 08:35 PM
how can I avoid "server busy" message during ole automation Stefan Excel Discussion (Misc queries) 0 April 17th 07 11:16 AM


All times are GMT +1. The time now is 10:44 PM.

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

About Us

"It's about Microsoft Excel"