如何在VBA中创建计数计时器

时间:2017-09-14 12:00:22

标签: vba powerpoint-vba

我正在尝试创建一个在Powerpoint演示文稿的VBA中每秒递增1的计数器。这就是我到目前为止所提出的。

Sub countup()
    Dim index As Integer

    index = 0
    Do Until index > 100
    index = index + 1

    DoEvents
        With ActivePresentation.Slides(1).Shapes(3).TextFrame.TextRange
        .Text = index
        End With

    Loop
End Sub

此代码将1递增至101,但不会每秒递增1。这是在VBA Powerpoint中,所以我不能放一个定时器控件。希望你能帮忙。谢谢。

1 个答案:

答案 0 :(得分:3)

这是一个可能的解决方案:

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Public Sub TestMe2()

    Dim index As Long
    index = 0

    Do Until index > 10
        index = index + 1
        Debug.Print index
        Sleep (1000)
    Loop

End Sub

如果不添加.Net功能,可以这样做:

Public Sub TestMe()

    Dim lngIndex            As Long
    Dim sngSec              As Single '9GAG
    Dim sngAddSec           As Single

    sngAddSec = 1

    Do Until lngIndex > 4
        lngIndex = lngIndex + 1
        sngSec = Timer + sngAddSec
        Debug.Print lngIndex
        While Timer < sngSec: Wend
    Loop

End Sub