- 新建一个PPT
- 设计好背景界面
- 点击菜单视图-工具栏-Visual Basic
- 点击图示,拖动按钮到界面上
- 拖到界面的按钮上点右键,选择“属性”
- 在Caption输入“开始倒计时”
- 如下图所示,再拖动几个控件到界面上
- 在按钮上点右键,选择“查看代码”(或按键Alt+F11,打开VBA编程环境,后双击Slide1)
- ff
- 输入代码
- Private Declare Function GetTickCount Lib "kernel32.dll" () As Long
- Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
- 'Private Declare Function PlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszName As String, ByVal uFlags As Long) As Long
- Const InterVal = 1000 '自定义的时间间隔
-
- Private Sub CommandButton1_Click()
-
- Static State, myStop As Boolean
- Dim preTime, curTime, myTime, jsTime, txTime As Long
- If State Then myStop = True: Exit Sub
- CommandButton1.Caption = "停止倒计时"
- State = True
- preTime = GetTickCount
- myTime = Val(TextBox2) + 1
- jsTime = Val(TextBox2) + 2
- txTime = Val(TextBox3)
- Label3.Visible = False
- Label4.Visible = False
- TextBox2.Visible = False
- TextBox3.Visible = False
- Label2.Caption = "计时进行中"
- Do
- curTime = GetTickCount
- If curTime - preTime >= InterVal * (jsTime - myTime) Then
- myTime = myTime - 1
- TextBox1 = myTime
- DoEvents
- If myTime = txTime Then
- Label2.Caption = "计时将结束"
- ' Call PlaySound("Ding.wav", 0&)
- End If
- If myTime = 0 Then
- State = False
- myStop = False
- CommandButton1.Caption = "开始倒计时"
- ' Call PlaySound("End.wav", 0&)
- Exit Do
- End If
- End If
- Sleep (20)
- Label1 = Time
- DoEvents
- If myStop Then
- State = False
- myStop = False
- CommandButton1.Caption = "开始倒计时"
- MsgBox "倒计时终止!", vbInformation + vbOKOnly, "操作提示"
- Exit Do
- End If
- Loop
- Label2.Caption = "计时时间到"
- Label3.Visible = True
- Label4.Visible = True
- TextBox2.Visible = True
- TextBox3.Visible = True
- End Sub
- 保存后,按Shift+F5 , 演示。在请输入倒计时时间(秒)填入60,在倒计时结束前提醒(秒)填入5,点击“开始倒计时”按钮。
|