Используйте ту же логику, что и для установки строки состояния.Там, где вы устанавливаете текст строки состояния, вы просто добавляете соответствующий код для вызова диалогового окна состояния.
У О'Рейли есть довольно подробное описание того, как создать диалоговое окно строки состояния.коробка с индикатором и все.Вероятно, это немного излишне для того, что вы хотите, но больше посмотреть, что возможно в VBA: http://oreilly.com/pub/h/2607
Stackoverflow уже имел дело с этой проблемой ранее, а также с относительно простой коробкой, которую вы могли бы легко изменить, чтобы показатькакой файл обрабатывается в данный момент: Как создать диалоговое окно статуса в Excel
Важный код из предыдущего поста:
Sub ShowForm_DoSomething()r
Load frmStatus
frmStatus.Label1.Caption = "Starting"
frmStatus.Show
frmStatus.Repaint
'Load the form and set text
frmStatus.Label1.Caption = "Doing something"
frmStatus.Repaint
'code here to perform an action
frmStatus.Label1.Caption = "Doing something else"
frmStatus.Repaint
'code here to perform an action
frmStatus.Label1.Caption = "Finished"
frmStatus.Repaint
Application.Wait (Now + TimeValue("0:00:01"))
frmStatus.Hide
Unload frmStatus 'hide and unload the form
End Sub
Решение O'Reilly, безусловно, представляет собой сложное решение, но оно кажется «самым красивым» и, вероятно, будет очень удобным для пользователя.Похоже, что решение SO гораздо проще реализовать.