您的位置:首頁>正文

VBA|使用表單控制項02:使用顯示資訊的標籤控制項

標籤控制項主要用於在表單中顯示提示資訊, 如文字框、清單方塊的說明文字。 標籤控制項也可直接識別使用者的按一下和按兩下操作事件。

在實際應用中, 標籤控制項一般只是作為控制項的說明, 不接受用戶的輸入。

下面用一個實例“用進度條跟蹤任務處理進度”來說明標籤控制項的使用:

1 插入一個使用者表單, 並添加以下控制項:控制項類型控制項名稱CaptionBackColor表單frmProgress進度條
標籤Label1正在進行操作...
框架frameProgress0%
標籤lblProgress
&H000000FF

2 編寫表單方法

按兩下表單空白處, 打開表單的“代碼”視窗, 編寫子過程UpdateProgress, 用來更新進度條的顯示。

Sub UpdateProgress(ByVal lStart As Long, ByVal lEnd As Long, ByVal lProgress As Long)

p = lProgress / (lEnd - lStart)

With Me

.frameProgress.Caption = Format(p, "0%")

.lblProgress.Width = p * (.frameProgress.Width - 10)

.Repaint '更新顯示進度條

End With

If p >= 1 Then Unload Me '完成操作後, 卸載表單

End Sub

3 編寫過程, 並在其中調用UpdateProgress子過程顯示進度

向工程中插入一個模組, 編寫以下代碼:

Sub 顯示進度條()

Dim i As Long, p As Single

With frmProgress

.lblProgress.BackColor = RGB(255, 0, 0)

.lblProgress.Width = 0

.Show 0 '顯示進度條

End With

If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub

Application.ScreenUpdating = False

For i = 1 To 65536

If i Mod 2 = 0 Then

Rows(i).Hidden = True

End If

Call frmProgress.UpdateProgress(1, 65536, i)

Next

Application.ScreenUpdating = True

Unload frmProgress '卸載進度條

End Sub

以上代碼將工作表中1-65536行中的偶數行隱藏起來。 在For迴圈中, 每執行一次迴圈, 就調用UpdateProgress子過程更新進度視窗中的進度條。

-End-

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示