因在PPT播放过程中,需要使用计时器,在网上找了半天也没找到合适的,所以就用VBA自己写了一个。
思路很简单:
- 添加两个控件,一个Label,一个按钮控件。
- 使用Timer记录时间,每个1秒钟,修改LABEL的数值。
- 通过一个函数,把整数型的时间数值,改为时间型,XX:XX。
Private Sub CommandButton1_Click()Label1.Caption = "02:00"
For i = 120 To 0 Step -1
TextChange (i)Savetime = Timer '记下开始的时间
While Timer < Savetime + 1 '循环等待
DoEvents '转让控制权,以便让操作系统处理其它的事件
WendNextEnd SubSub TextChange(i As Integer)
Dim fz%, mz%
fz = Int(i / 60)
mz = i Mod 60If fz < 10 Then
str1 = "0" & fz & ":"
Else
str1 = fz & ":"
End IfIf mz < 10 Then
str1 = str1 & "0" & mz
Else
str1 = str1 & mzEnd If
Debug.Print str1
Label1.Caption = str1End Sub
没有用到Sleep函数,是因为如果使用Sleep函数,则系统好像假死一样没有反应,所以我用的是VBA中的Timer。