VBA进度条ProgressForm2

        上一章《VBA进度条ProgressForm1》介绍了ProgressForm1进度条窗体的使用方法,但它是基于ProgressBar控件设计的,由于ProgressBar控件无法在64位版本的Office中运行,存在向后兼容的问题,为此我们采用Label控件来模拟进度条,以解决在64位版本的Office中无进度条控件使用的问题。

一、设计思路

        添加两个重叠的Label标签控件,一个作为进度条的背景,一个作为进度条填充的前景,通过动态改变前景标签的长度,即可模拟出进度条不断变化的效果,如下图1。


图1

二、使用方法

     ProgressForm2.UpdateProgress(MaxValue, CurrentValue)
     MaxValue 表示最大步数,CurrentValue 表示当前步数。

三、使用演示

    ProgressForm2进度条使用演示,代码如下:

Sub Demo_ProgressForm2()
'
' Label进度条演示,执行过程请不要关闭窗体,否则会出错。
'
    Application.ScreenUpdating = False    ' 禁用屏幕更新

    Dim totalSteps As Long
    Dim i As Long
    
    ' 创建并显示进度条窗体
    Dim progForm As New ProgressForm2
    progForm.Show vbModeless  ' 非模态显示
    
    totalSteps = 10
    For i = 1 To totalSteps
        ' 这里执行你的任务代码...
        Application.Wait (Now + TimeValue("0:00:01"))    ' 模拟耗时操作
        progForm.UpdateProgress totalSteps, i    ' 更新进度条
    Next i
    
    Application.Wait (Now + TimeValue("0:00:01"))    ' 延时1秒显示完整进度
    
    Application.ScreenUpdating = True    ' 启用屏幕更新
    
    ' 关闭进度条窗体
    Unload progForm
    Set progForm = Nothing

    MsgBox "处理完成!", vbInformation, "提示"
    
End Sub

        ProgressForm2窗体演示效果,如下图2:


图2

三、下载地址

        点击下方地址可下载ProgressForm2窗体文件,在VBA编辑窗中导入即可直接使用,内附使用方法。

        下载地址:https://download.csdn.net/download/bigtoothcat/90948266?spm=1001.2014.3001.5501

        下一章, 我将向大家介绍另一款模拟进度条ProgressForm3,它与ProgressForm2类似,但ProgressForm3是用方块显示的进度条,样式看起来与ProgressBar控件很像,敬请关注!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TOMaster.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值