使用VBA提供的标准控件可满足大多数应用程序的需要。但对一些特定的需求(或为了简化应用程序的开发),可在应用程序中使用ActiveX控件。ActiveX是由用户使用程序设计语言定制的可重用对象,在Windows系统中自带了许多这类控件。
ActiveX控件的扩展名为.ocx,可用VB、VC、Java等语言开发。
1 更新MSCOMCTL.OCX版本
MSCOMCTL.OCX是公用ActiveX插件控制模块。如果版本太低,会导致无法附加控件。
I 取得MSCOMCTL.OCX最新版6.1.98.34
II 到C:\WINDOWS\system32下找到文件MSCOMCTL.OCX
III 用新版本覆盖旧版本
IV 点右键查看"属性"→"版本",看版本号是否更新为6.1.98.34
V Win+R(打开“运行”窗口),输入:Regsvr32 MSCOMCTL.OCX
VI 然后重新打开EXCEL就可以了。
MSCOMCTL.OCX下载位置:
2 添加ActiveX控件到工具箱
Alt+F11(打开VBE)→插入→用户窗体,在工程中增加一个用户窗体,同时显示出“工具箱”→右击→附加控件:Microsoft ProgressBar Control 6.0。
3 添加用户窗体和控件
4 调用窗体代码
Sub 显示进度条()
End Sub
5 窗体代码
Private Sub UserForm_Initialize()
Me.Height = 83
Frame1.Visible = False '隐藏框架及其内部控件
End Sub
Private Sub cmdHide_Click()
Dim r As Long
r = Worksheets("Sheet3").Rows.Count
r = 10000
Me.Height = 168
Frame1.Visible = True
= 0
= r
= 0
With Worksheets("Sheet3")
For i = 1 To r
If i Mod 2 = 0 Then
.Rows(i).Hidden = True '隐藏行
End If
= i '更新进度条
DoEvents '转让控制权
Next
End With
Me.Height = 83
End Sub
-End-