运行 倒计时结束后的子程序

Run a sub-routine once the countdown is over

Dim time As Date
Dim count As Integer

time = Now()
count = 60

time = DateAdd("s", count, time)

Do Until time < Now
DoEvents

With ActivePresentation.Slides(2).Shapes("T").TextFrame.TextRange
.Text = Format((time - Now()), "hh:mm:ss")
End With
Loop

如何在倒计时结束后将名为 SendDetails 的子程序添加到 运行?

While time < Now
DoEvents
Wend
SendDetails

如果我使用上面的代码而不是

Do Until time < Now
DoEvents

Slides(2).Shapes("T") 中的文本未更新。

WhileUntil是相反的。当你开始循环时,timeNow() 大,但随着时间的推移,Now() 会赶上。如果您将代码作为一个简单的英文句子来阅读,它会更有意义。
认为 While 是 "as long as 'condition' is true"。 Until 表示 "do this until 'condition' is true"。

您可以在进入循环之前或退出之前进行测试。

你的情况

Do While time < Now()
Loop

Do
Loop Until time > Now()

是两个最明确的选项。记下 <> 字符。

要添加 运行 另一个子例程的规定 SendDetails 只需在循环中添加一个 If 语句:

Do Until time < Now
DoEvents

If time < Now() Then
SendDetails
End If

Loop