跳到主要内容

自定义 Excel 状态栏信息

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 属性

Excel Application.DisplayStatusBar 属性

MsgBox 函数

Rnd 函数

评论

您的电子邮件地址不会显示出来。*号为必填项。