ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   status update during program run -- DoEvents doesn't always work (https://www.excelbanter.com/excel-programming/375426-status-update-during-program-run-doevents-doesnt-always-work.html)

Mark VII

status update during program run -- DoEvents doesn't always work
 
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

John Coleman

status update during program run -- DoEvents doesn't always work
 
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

Mark VII wrote:
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



Mark VII

status update during program run -- DoEvents doesn't always wo
 
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






All times are GMT +1. The time now is 11:41 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com