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

M

Mark VII

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
 
J

John Coleman

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
 
M

Mark VII

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top