Excel 状态栏显示 Excel 的当前状态(如就绪、输入等)或上下文提示信息,我们可以通过设置 Application
对象的 StatusBar
属性来修改状态栏,以显示用户自定义信息。
示例一
以下示例代码在保存文件时,在状态栏显示自定义的提示信息,以提醒用户程序正在执行的任务。
'---------------- 模块 ----------------
Sub SetStatusbar()
Dim blnPreStatus As Boolean, i As Long
With Application
blnPreStatus = .DisplayStatusBar
.DisplayStatusBar = True
.StatusBar = "正在保存文件,请稍候..."
ThisWorkbook.Save
.StatusBar = False
.DisplayStatusBar = blnPreStatus
End With
End Sub
第5行代码将应用程序当前的状态信息保存在变量 blnPreStatus
中,以便代码执行结束或程序退出时后恢复系统原来的设置。
第6行代码设置 DisplayStatusBar
属性为真,使状态栏处于显示状态。
第7行代码给 StatusBar
属性设置需要在状态栏上显示的文本。
第8行代码保存当前工作簿。
第9行代码恢复状态栏为系统的默认文本。如果省略这句,状态栏会一直显示第7行设置的文本。
第10行代码恢复状态栏为原来的状态。
示例二
以下示例代码在 A 列生成100个随机数,并在状态栏显示生成进度。
'---------------- 模块 ----------------
Sub MyStatusBar()
Dim blnPreStatus As Boolean, i As Long
With Application
blnPreStatus = .DisplayStatusBar
.DisplayStatusBar = True
For i = 1 To 100
.StatusBar = "正在写入第 " & i & " 个数据,共100个数据,请稍候..."
Cells(i, 1) = Rnd()
Next i
MsgBox "写入数据完成。", vbInformation + vbOKOnly, "完成"
.StatusBar = False
.DisplayStatusBar = blnPreStatus
End With
End Sub
语法参考
Excel Application.StatusBar 属性