Looks good to me.

You could argue whether it is necessary to use application.processmessages twice in the loop, but I doubt it'll hurt.