私は最初のPowerpoint 2007マクロを作成していますが、それに問題があり、次のスライドに移動させません。私はスライドショーを終了するためにESCAPEを押すことができますが、スペースバーなどを押すと次のスライドに進むことはできません。しばらくすると、ちょうどクラッシュします。私はC++/Javaのバックグラウンドから来ているので、私は欠けている基本的なものだと思う。Powerpointマクロ - カウンターの基本的な問題
基本的には、特定の日付から日/分/秒をカウントするカウンタスライドを実行しようとしています。スライドが読み込まれると、その日からどれくらいの時間が実際に表示されるようにしたいのですか?私は時間を更新するためにうまく動作する無限のループに入れましたが、次のスライドに進むことはできません。
は、ここに私のコードです:
Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow)
'If SSW.View.CurrentShowPosition = 3 Then
Do While SSW.View.CurrentShowPosition = 3 ' infinite loop
Dim currentSlide As Integer
currentSlide = SSW.View.CurrentShowPosition
Dim startDate As Date
Dim currentDate As Date
Dim sngDiff As Single
Dim lngDays As Long
Dim lngHours As Long
Dim lngMinutes As Long
Dim lngSeconds As Long
startDate = #7/22/2011 2:00:00 PM#
currentDate = Now
sngDiff = currentDate - startDate
lngDays = CLng(sngDiff)
sngDiff = sngDiff - lngDays
lngHours = Hour(sngDiff)
lngMinutes = Minute(sngDiff)
lngSeconds = Second(sngDiff)
With ActivePresentation.Slides(currentSlide)
With .Shapes(2)
.TextFrame.TextRange.Text = "It has been:" & lngDays & " Days " & lngHours & " hours " & lngMinutes & " minutes " & lngSeconds & " Seconds"
End With
End With
DoEvents
Loop
End Sub
私はこの無限ループを停止するにはクリックボタンのいくつかの並べ替えをリッスンする必要がありますか、または私はこれをどのように行うのですか?
ありがとうございました。
私は昨日からこれらのマクロを学習し始めました。これらのフォームの使い方を私に見せてもらえますか?私はまだVBAの用語に精通していない。フォームは問題のスライドに貼り付けた「シェイプ」のタイプですか、それともマルコ自体に付けられた名前ですか? – eoinzy