OnTimer
Excel とは異なり、PowerPoint には、ここで役立つ機能がありません。
ループを作成するだけで、100% のプロセッサ消費が発生します。あなたはおそらくそれを望んでいません。
Sleep()
各反復で呼び出しを行うと、プロセッサ時間は節約されますが、アプリケーションは無責任になります。あなたもおそらく望んでいないこと。
そのため、タイマーを設定する必要があります。VSTO アドインを作成しても問題ない場合は、Timer クラスを使用します。それ以外の場合は、VBA で自分で作成します。
Option Explicit
Private Declare Function SetTimer Lib "user32.dll" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32.dll" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Private hTimer As Long
Private PrevDate As Date
Public Sub StartTimer()
If hTimer = 0 Then
hTimer = SetTimer(0, 0, 1000, AddressOf TimerProc)
End If
End Sub
Public Sub StopTimer()
KillTimer 0, hTimer
hTimer = 0
End Sub
Private Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal nIDEvent As Long, ByVal dwTime As Long)
Dim CurDate As Date
CurDate = Date
If CurDate > PrevDate Then
PrevDate = CurDate
'Put your display code here
End If
End Sub