分享免费的编程资源和教程

网站首页 > 技术教程 正文

VBA|使用窗体控件14:使用ActiveX控件

goqiw 2024-09-10 17:44:28 技术教程 58 ℃ 0 评论

使用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下载位置:

http://club.excelhome.net/thread-939821-1-1.html

2 添加ActiveX控件到工具箱

Alt+F11(打开VBE)→插入→用户窗体,在工程中增加一个用户窗体,同时显示出“工具箱”→右击→附加控件:Microsoft ProgressBar Control 6.0。

3 添加用户窗体和控件

4 调用窗体代码

Sub 显示进度条()

frmProgress.Show

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

pb1.Min = 0

pb1.Max = r

pb1.Value = 0

With Worksheets("Sheet3")

For i = 1 To r

If i Mod 2 = 0 Then

.Rows(i).Hidden = True '隐藏行

End If

pb1.Value = i '更新进度条

DoEvents '转让控制权

Next

End With

Me.Height = 83

End Sub

-End-

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表