0
点赞
收藏
分享

微信扫一扫

使用Office2003 VBA制作有倒计时功能的PPT

  1. 新建一个PPT
  2. 设计好背景界面
  3. 点击菜单视图-工具栏-Visual Basic
  4. 点击图示,拖动按钮到界面上
    使用Office2003 VBA制作有倒计时功能的PPT_右键
  5. 拖到界面的按钮上点右键,选择“属性”
    使用Office2003 VBA制作有倒计时功能的PPT_自定义_02
  6. 在Caption输入“开始倒计时”
    使用Office2003 VBA制作有倒计时功能的PPT_控件_03
  7. 如下图所示,再拖动几个控件到界面上
    使用Office2003 VBA制作有倒计时功能的PPT_右键_04
  8. 在按钮上点右键,选择“查看代码”(或按键Alt+F11,打开VBA编程环境,后双击Slide1)
  9. 使用Office2003 VBA制作有倒计时功能的PPT_PowerPoint_05ff
  10. 输入代码
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

  1. 保存后,按Shift+F5 , 演示。在请输入倒计时时间(秒)填入60,在倒计时结束前提醒(秒)填入5,点击“开始倒计时”按钮。



举报

相关推荐

0 条评论