Halt / Stop processing when a user selects Cancel
This is just for ideas, it's unlikely you'd want to do it quite like this
(put two buttons on a form) -
Private mbDoStuff As Boolean
Private Sub CommandButton1_Click() ' cancel button
If mbDoStuff Then
If MsgBox("Abort", vbYesNo) = vbYes Then
mbDoStuff = False
End If
End If
If Not mbDoStuff Then Unload Me
End Sub
Private Sub CommandButton2_Click()
Dim d As Double, dev As Long
mbDoStuff = True
dev = -1
Do While d < 123456 And mbDoStuff
d = Range("A1").Value
d = d + 1
Range("A1").Value = d
Me.Caption = d
If d dev Then
DoEvents
dev = dev + 100
'aim to allow a DoEvents say every 0.1 to 0.5 sec's
' but not in every "quick" loop
End If
Loop
MsgBox d
End Sub
Generally aim to allow a DoEvents say every 0.1 to 0.5 seconds. No need to
check in every loop unless each loop involves a lengthy process, like
sending emails.
Regards,
Peter T
"scott56hannah" wrote in message
...
Hi,
I have a routine that sends a group of emails based on a user action.
The user is presented with a Form that reports on the progress of sending
those emails...
I want to be able to give the user the option to Halt / Stop the sending
of
those emails at anytime.
I have already tried a number of methods to get this working, but although
I
am able to stop the actual processing the send mail routine in the back
ground continues to process.
The problem I think is that when the "Cancel" button is clicked it takes
control from the background process that has been called to send the
mail....
Is there anyway I am able to stope background processing in Excel when
this
cancel button is called.....and in addition to continue that processing in
the same place if the user elects to continue
I don't know if this is too confusing for anyone to help...but it would be
appreciated
Scott
|