Excel과 달리 PowerPoint에는 여기에 도움이 될 OnTimer
이 없습니다.
루프를 만들면 프로세서가 100 % 소모됩니다. 당신은 아마 그것을 원하지 않을 것입니다.
반복 할 때마다 Sleep()
을 호출하면 프로세서 시간이 보존되지만 응용 프로그램은 무책임하게됩니다. 당신도 아마 원하지 않는다고.
정말 타이머를 설정해야합니다. VSTO 추가 기능을 작성하는 것은 당신이 괜찮다면, 단지 다른 VBA에서 자신의 일을하기 위해선, Timer 클래스를 사용
는
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
파워 포인트 파일이 항상 열려 있지 않으면 아마 절대로 발사되지 않습니다. 요일을 계산하는 경우 해당 이벤트에서 파일이 열려있을 때 계산하십시오. 다음은 좋은 링크입니다. http://msdn.microsoft.com/en-us/library/office/ee814734.aspx – Jesse
파일이 항상 열려 있기 때문에 연속 루프가 생각됩니다. 새로운 날이 오면 슬라이드의 숫자가 늘어나기를 원합니다. 기본적으로 자사의 지속적인 데이 카운터. CDC. – user1708399
나는 물어야한다 - 조금 유스 케이스를 설명 할 수 있겠습니까? 영원히 열리는 PowerPoint 프레젠테이션을 매일 업데이트하면 이상하게 보일 것입니다. 반면 앱에서 이것을 구현하는 것이 훨씬 쉽습니다. – Mathias