来源:
学赛网
作者:
若水
2008-04-23/14:53
如果某段VBA 代码需要较长的执行时间,为了不让使用者在不明就里的状态下等待
程序运行,甚至认为Excel 死机,VBA 开发人员应该使用友好的提示,用于告知使用者当前的状况。
有许多种方法能够在程序中达到友好
提示的效果,例如在特定工作表中插入平时不可见的包含提示信息的自定义形状,并在程序开始运行时激活它;或者专门
制作一个窗体,并放上进度条。但是,越美观的友好提示,其本身也会占用越多系统资源,并导致程序的运行时间更长。
最
简单实用的友好提示方法是使用Excel 的状态栏,下面的代码利用一段无意义的单元格填充代码来演示了通过Excel 的状态栏向使用者进行
信息传达的效果。
Sub ShowStatusBar()
Const WaitMessage = "程序正在计算中,请稍候..."
Dim k As Long
'更改
系统状态条的显示
Application.StatusBar = WaitMessage
'空循环
For k = 1 To 60000
ActiveSheet.Cells(k, 1).Value = k * 4 / 8 * 2 + 5 - 3 - 2
Next
'清除A 列的内容
Columns("A:A").ClearContents
'恢复系统状态条
Application.StatusBar = False
End Sub
当程序开始运行时,Application.StatusBar = WaitMessage 会让Excel 状态栏显示预先定义好的文字内容,如图355-1 所示。
而当程序的主要功能完成后,Application.StatusBar = False 将状态栏恢复到默认状态, 图355-2 所示。