VBA制作进度条

VBA制作进度条

ID:38181179

大小:60.88 KB

页数:18页

时间:2019-06-07

VBA制作进度条_第1页
VBA制作进度条_第2页
VBA制作进度条_第3页
VBA制作进度条_第4页
VBA制作进度条_第5页
资源描述:

《VBA制作进度条》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、无标题栏窗体进度条目标:制作一个无标题栏窗体形式的进度条。要求:当进度条到达显示的数值后,数值设置为白色,否则数值设置为蓝色。步骤:1.创建用户窗体创建一个excel工作簿,进入VBA编辑环境,在当前工程中添加一个用户窗体UserForm1。设置窗体的Height、Width属性分别为38和241,ShowModal属性为False。2.添加文字框TextBox1在窗体上添加一个文字框TextBox1,作为进度条的白色背景。设置其Height、Width、Left、Top属性分别为18、220、8和8,TabStop属性为False,Text属性为空白。背景颜色BackColor属性用默认的

2、“白色”,BackSyle属性用默认的1(不透明),SpecialEffect属性用默认的2(凹下)。3.添加文字框TextBox2在窗体上添加一个文字框TextBox2,用来显示进度条的百分比。设置其Height、Width、Left、Top属性分别为18、40、98和12,TabStop属性为False,TextAlign属性为2(水平居中),文字颜色为蓝色,BackSyle设置为0(透明),SpecialEffect属性设置为0(平面)。4.添加标签Label1在窗体中添加一个标签Label1,作为进度条。设置其Height、Width、Left、Top属性分别为18、0、8和8,Ca

3、ption属性为空白,BackColor属性为“蓝色”。5.声明API函数和常量在窗体的快捷菜单中选择“查看代码”,用下列语句声明API函数和常量:PrivateDeclareFunctionDrawMenuBarLib"user32"(ByValhwndAsLong)AsLongPrivateDeclareFunctionGetWindowLongLib"user32"Alias"GetWindowLongA"_(ByValhwndAsLong,ByValnIndexAsLong)AsLongPrivateDeclareFunctionSetWindowLongLib"user32"Ali

4、as"SetWindowLongA"_(ByValhwndAsLong,ByValnIndexAsLong,ByValdwNewLongAsLong)AsLongPrivateDeclareFunctionFindWindowLib"user32"Alias"FindWindowA"_(ByVallpClassNameAsString,ByVallpWindowNameAsString)AsLongPrivateConstGWL_STYLEAsLong=(-16)PrivateConstWS_CAPTIONAsLong=&HC000006.编写窗体的初始化代码在用户窗体的初始化事件中编写如下

5、代码,隐藏该窗体的标题栏:PrivateSubUserForm_Initialize()IfVal(Application.Version)<9Thenhwnd=FindWindow("ThunderXFrame",Me.Caption)Elsehwnd=FindWindow("ThunderDFrame",Me.Caption)EndIfIStyle=GetWindowLong(hwnd,GWL_STYLE)IStyle=IStyleAndNotWS_CAPTIONSetWindowLonghwnd,GWL_STYLE,IStyleDrawMenuBarhwndEndSub1.编写子程序j

6、d为了在窗体中显示进度条和完成的百分比,我们在模块中建立一个子程序jd,代码如下:Subjd(h,lr)'h表示当前次数,lr表示总次数UserForm1.Label1.Width=Int(h/lr*220)'显示进度条IfUserForm1.Label1.Width>105Then'进度到达显示数值UserForm1.TextBox2.ForeColor=&HFFFFFF'数值设置为白色ElseUserForm1.TextBox2.ForeColor=&HFF0000'数值设置为蓝色EndIfpct=Int(h/lr*100)'进度值pct=IIf(pct<10,""&pct&"%",pc

7、t&"%")'显示进度值UserForm1.TextBox2.Text=pctEndSub2.测试进度条为了测试这个无标题栏窗体进度条,我们在模块中再建立一个子程序“进度条”,代码如下:Sub进度条()UserForm1.Show'显示用户窗体cnt=10000'循环次数控制Form=1TocntCalljd(m,cnt)DoEvents'转让控制权给操作系统NextUnloadUserForm1'卸载用户窗

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。