VBA制作進度條

VBA制作進度條

ID:38181179

大小:60.88 KB

頁數(shù):18頁

時間:2019-06-07

VBA制作進度條_第1頁
VBA制作進度條_第2頁
VBA制作進度條_第3頁
VBA制作進度條_第4頁
VBA制作進度條_第5頁
資源描述:

《VBA制作進度條》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫

1、無標題欄窗體進度條目標:制作一個無標題欄窗體形式的進度條。要求:當進度條到達顯示的數(shù)值后,數(shù)值設置為白色,否則數(shù)值設置為藍色。步驟:1.創(chuàng)建用戶窗體創(chuàng)建一個excel工作簿,進入VBA編輯環(huán)境,在當前工程中添加一個用戶窗體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函數(shù)和常量在窗體的快捷菜單中選擇“查看代碼”,用下列語句聲明API函數(shù)和常量: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表示當前次數(shù),lr表示總次數(shù)UserForm1.Label1.Width=Int(h/lr*220)'顯示進度條IfUserForm1.Label1.Width>105Then'進度到達顯示數(shù)值UserForm1.TextBox2.ForeColor=&HFFFFFF'數(shù)值設置為白色ElseUserForm1.TextBox2.ForeColor=&HFF0000'數(shù)值設置為藍色EndIfpct=Int(h/lr*100)'進度值pct=IIf(pct<10,""&pct&"%",pc

7、t&"%")'顯示進度值UserForm1.TextBox2.Text=pctEndSub2.測試進度條為了測試這個無標題欄窗體進度條,我們在模塊中再建立一個子程序“進度條”,代碼如下:Sub進度條()UserForm1.Show'顯示用戶窗體cnt=10000'循環(huán)次數(shù)控制Form=1TocntCalljd(m,cnt)DoEvents'轉(zhuǎn)讓控制權給操作系統(tǒng)NextUnloadUserForm1'卸載用戶窗

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。