上一章《VBA进度条ProgressForm2》介绍了ProgressForm2进度条窗体的使用方法,它是采用叠加Label控件的方法设计的,今天我给大家介绍另一种设计模拟进度条的方法,采用Label标签控件填充字符的方式来模拟进度条,样式看起来跟PregressBar控件很像。
一、设计思路
添加两个Label标签控件,一个作为填充字符的进度条,一个用于显示进度百分比,通过动态改变进度条标签填充字符的个数,即可模拟出进度条不断变化的效果,如下图1。

图1
二、使用方法
ProgressForm3.UpdateProgress(MaxValue, CurrentValue)
MaxValue 表示最大步数,CurrentValue 表示当前步数。
三、使用演示
ProgressForm3进度条使用演示,代码如下:
Sub Demo_ProgressForm3()
'
' 通过动态改变Label标签控件填充字符的个数来模拟进度条,执行过程请不要关闭窗体,否则会出错。
'
' 调用方法:ProgressForm3.UpdateProgress(MaxValue, CurrentValue)
' MaxValue 表示最大步数,CurrentValue 表示当前步数。
Application.ScreenUpdating = False ' 禁用屏幕更新
' 创建并显示进度条窗体
Dim progForm As New ProgressForm3
progForm.Show vbModeless ' 非模态显示
Dim i As Long
For i = 0 To 100 Step 10 ' 设置最大步数为100,每10步更新一次进度
' 这里执行你的任务代码...
Application.Wait (Now + TimeValue("0:00:01")) ' 模拟耗时
progForm.UpdateProgress 100, i
Next i
Application.Wait (Now + TimeValue("0:00:01")) ' 延时以显示完整进度
Application.ScreenUpdating = True ' 启用屏幕更新
' 关闭进度条窗体
Unload progForm
Set progForm = Nothing
MsgBox "处理完成!", vbInformation, "提示"
End Sub
ProgressForm3窗体演示效果,如下图2:

图2
四、下载地址
点击下方地址可下载ProgressForm3窗体文件,在VBA编辑窗中导入即可直接使用,内附使用方法。
下载地址:https://download.csdn.net/download/bigtoothcat/90965947

649

被折叠的 条评论
为什么被折叠?



