status update during program run -- DoEvents doesn't always work

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hello --

I've got a program or two that do some lengthy and time consuming mass edits
to Excel workbooks. I use code like this to inform the user of the progress
of the program.

Function UpdateWorkbook () as Boolean

txtStatusUpdate.text = "Processing data block one"
DoEvents
'* update logic for data block 1 goes here

txtStatusUpdate.text = "Processing data block two"
DoEvents
'* update logic for data block 2 goes here

'* etc.

End Function

Sometimes the status indicator text box updates and sometimes it doesn't.
I've also tried this by creating a label and changing its caption property,
and sometimes these don't update either.

Is there something else I should try or check?

Thanks,
Mark VII
 
You can try a couple of kludges:
kludge 1: use 2 DoEvents in a row:
DoEvents
DoEvents
(hopefully) the second will flush anything that the first missed. It
worked for me once when I encountered a similar problem.

kludge 2 (if first fails)

Start = Timer
Do while Timer < Start + 0.1 'if you can spare a 10th of a second
DoEvents
Loop

Maybe someone knows a less kludgy way.

HTH

-John Coleman
 
I tried kludge #1, and it worked OK. Am going to call it good there, and
keep kludge #2 in mind for later if I need it.

Thanks a million for the suggestion.

Mark
 
Back
Top