スライドごとに時間を設定できるトランジションタブがあることは知っていますが、これを使用して各スライドを自動的にトランジションする場合です。
各スライドに、設定できる時間プロパティを設定したいと思います。次に、プレゼンターとして、カウントダウンが表示されるため、プレゼンテーションを行うときに特定のスライドで時間の超過/不足が発生しているかどうかを確認できます。
さらに、これはプレゼンテーションの合計時間を決定できるので素晴らしいでしょう。したがって、下部のツールバーには、スライド時間= 01:30の項目と、スライドショー時間= 05:45の項目があります。
これが利用できないのではないかと心配しており、持っていると非常に便利だと思います。
ここで重要なのは、プレゼンテーションを引き続き制御したいので、自動スライドトランジションを使用したくないということです。ただし、ショーの準備と提示を改善するために、スライドの移行時間(およびそれらすべての合計)などの値を使用できるようにしたいと思います。
編集:スライドショー->設定領域で「タイミングの使用」をオフにできることがわかりました。これにより、スライドショーページに各スライドの時間を表示しながら、各スライドの後に自動進行が停止します。ただし、これでは、プレゼンテーション中のスライドタイマーや、プレゼンテーションの合計時間を確認できる場所は提供されません(30〜45枚のスライドがある場合、各スライドの時間を合計するのは面倒です)。
あなたが望むものをあなたに与えるあなたがダウンロードできるアドインがあります。最初のパーツが設定されているので、これを使用して アドイン 現在のスライドの上に経過時間を表示できます。
リンク先のウェブサイトにインストール手順がありますが、便宜上ここに記載します。
実行可能ファイルをダウンロードして、アドインをデフォルトの場所にインストールします。実行可能ファイルとインストールされているアドインファイルをスキャンしてウイルスを検出しましたが、それらがクリーンであることを確認できます。
アドインがインストールされたら、PowerPointを開き、次の手順を実行します。
[ファイル]-> [オプション]-> [アドイン]->(下部の[管理]ドロップダウンから)[PowerPointアドイン]を選択して移動します
新規追加-> TM PowerPointタイマー(リボンUI)を選択-> OK
上記は、PowerPointリボンにTM
タブを追加します。タイマーの設定ウィンドウで、経過時間を表示するタイマーを設定できます。最初のタブにはUpdate Display
エントリもあるので、必ず1秒に設定してください(デフォルトは10秒です)。
私はこれが私自身の質問に答えるエチケットを壊さないことを願っています。しかし、私はこれを見つけました。これは、スライドショーの合計時間を提供することができます。これは、スライドの自動トランジションに設定された時間に基づいています([トランジション]-> [アドバンススライド]-> [後:)]。スライドショーリボンでは、[タイミングの使用]を無効にして、プレゼンテーション中にスライドを進めることを制御できます。
これはプレゼンターのビューにスライドカウントダウンを提供しませんが、私はそれなしで生きることができ、メモの一番上にあるべき予想時間を入力するだけだと思います。上記のアドインは、プレゼンターの視点でカウントダウンを提供しているように見えますが、私の会場では使用できないため、オプションではありません。
私はここからこのマクロに基づいています PowerPoint FAQ。 時間を「00:00」形式で表示し、合計時間を個別のポップではなく下部に表示するように少し変更しました-アップ。これを使用するには、[表示]-> [マクロ]に移動して、新しいマクロ「合計時間」を作成するだけです。以下のコードをコピーして貼り付けます。
Sub TotalTimes()
Dim oSld As Slide
Dim strMessage As String
Dim lngTotalTime As Long
Dim strSlideMin As String
Dim strSlidesec As String
' Use this to collect times for ALL slides:
For Each oSld In ActivePresentation.Slides
' Or comment it out and uncomment this to get just the selected slides:
' For Each oSld in ActiveWindow.Selection.SlideRange
strSlideMin = Format(Int(oSld.SlideShowTransition.AdvanceTime / 60), "00")
strSlidesec = Format(Int(oSld.SlideShowTransition.AdvanceTime Mod 60), "00")
strMessage = strMessage _
& CStr(oSld.SlideNumber) _
& vbTab _
& strSlideMin & ":" & strSlidesec _
& vbCrLf
lngTotalTime = lngTotalTime + oSld.SlideShowTransition.AdvanceTime
Next oSld
' Comment these out if you don't want to see them
strMessage = strMessage & vbCrLf & "Total" & vbTab & Format(Int(lngTotalTime / 60), "00") & ":" & Format(Int(lngTotalTime Mod 60), "00")
MsgBox strMessage
'MsgBox ("Total time: " & CStr(lngTotalTime))
End Sub
元のコードには、テキストファイルに書き込むためのセクションも含まれていますが、ニーズを満たしていないために切り取りました。
MSがPowerPoint内でこの情報を利用できないことに非常に驚いています。デフォルトで含まれる、かなり直感的な情報のようです。
私はこのページで解決策を見つけました: リンク 。作成者はメモリにカウントダウンタイマーを作成し、その進行状況テキストをすべてのスライドに挿入された最後の図形に追加します。
最初のスライドに影響を与えず、最後に挿入する前に形状を更新するように少し変更しました。私は常にフッターから日付とスライド番号を削除し、プレゼンテーションが終了したときにそれらを追加します。
カウントダウンする分数を設定するには、TargetDateTime = DateAdd("n", 6, Now)
を見つけて、6
を変更します。
これが私の変更されたコードです:
Option Explicit
'API Declarations
Declare PtrSafe Function SetTimer Lib "user32" _
(ByVal hwnd As LongLong, _
ByVal nIDEvent As LongLong, _
ByVal uElapse As LongLong, _
ByVal lpTimerFunc As LongLong) As LongLong
Declare PtrSafe Function KillTimer Lib "user32" _
(ByVal hwnd As LongLong, _
ByVal nIDEvent As LongLong) As LongLong
' Public Variables
Public TimerID As LongLong
Public bTimerState As Boolean
Public TargetDateTime As Date
Sub TimerOnOff()
Dim maxshapes As Integer
Dim i As Integer
TargetDateTime = DateAdd("n", 6, Now)
For i = 2 To ActivePresentation.Slides.Count
maxshapes = ActivePresentation.Slides(i).Shapes.Count
ActivePresentation.Slides(i).Shapes(maxshapes - 1).TextFrame.TextRange.Text = ""
Next i
If bTimerState = False Then
TimerID = SetTimer(0, 0, 1000, AddressOf TimerProc)
If TimerID = 0 Then
MsgBox "Unable to create the timer", vbCritical + vbOKOnly, "Error"
Exit Sub
End If
bTimerState = True
SlideShowWindows(1).View.GotoSlide (SlideShowWindows(1).View.Slide.SlideIndex + 1)
Else
TimerID = KillTimer(0, TimerID)
If TimerID = 0 Then
MsgBox "Unable to stop the timer", vbCritical + vbOKOnly, "Error"
End If
bTimerState = False
End If
End Sub
' The defined routine gets called every nnnn milliseconds.
Sub TimerProc(ByVal hwnd As LongLong, _
ByVal uMsg As LongLong, _
ByVal idEvent As LongLong, _
ByVal dwTime As LongLong)
Dim diff As Date
Dim out As String
Dim maxshapes As Integer
Dim i As Integer
Dim hours As String
Dim minutes As String
Dim seconds As String
Dim hoursTest As Boolean
Dim minutesTest As Boolean
Dim secondsTest As Boolean
diff = TargetDateTime - Now
out = ""
hoursTest = (Hour(diff) <> 0)
minutesTest = (Minute(diff) <> 0)
secondsTest = (Second(diff) <> 0)
hours = CStr(Hour(diff))
minutes = CStr(Minute(diff))
seconds = CStr(Second(diff))
If hoursTest Then
If Hour(diff) < 10 Then
out = out + "0"
End If
out = out + hours
End If
If minutesTest Or hoursTest Then
If hoursTest Then
out = out + ":"
End If
If Minute(diff) < 10 Then
out = out + "0"
End If
out = out + minutes
End If
If secondsTest Or minutesTest Then
If minutesTest Then
out = out + ":"
End If
If Second(diff) < 10 Then
out = out + "0"
End If
out = out + seconds
Else
If minutesTest And hoursTest Then
out = "END"
End If
End If
On Error GoTo err:
For i = 2 To ActivePresentation.Slides.Count
maxshapes = ActivePresentation.Slides(i).Shapes.Count
ActivePresentation.Slides(i).Shapes(maxshapes - 1).TextFrame.TextRange.Text = out
Next i
err:
End Sub
アドインを介してこれを行うよりエレガントな方法がありますが、これはどうですか...メモを表示できるプレゼンタービューを使用していることを前提としていますが、代わりにスライドなどにテキストを追加できます。
Option Explicit
Public StartTime As Date
Sub StartTimer()
StartTime = Time
SlideShowWindows(1).View.GotoSlide (SlideShowWindows(1).View.Slide.SlideIndex + 1)
End Sub
Sub ElapsedTime(osh As Shape)
Dim oNotesText As Shape
Dim oNextSlide As Slide
' what slide are we about to move TO?
Set oNextSlide = ActivePresentation.Slides(osh.Parent.SlideIndex + 1)
' Get a reference to the notes text on that slide (not 100% reliable, but generally works)
Set oNotesText = oNextSlide.NotesPage.Shapes(2)
' Do the time math and add the elapsed time to the notes:
With oNotesText
.TextFrame.TextRange.Text = Format(Time - StartTime, "HH:MM:SS") & vbCrLf & .TextFrame.TextRange.Text
End With
' And go to the slide
SlideShowWindows(1).View.GotoSlide (SlideShowWindows(1).View.Slide.SlideIndex + 1)
End Sub
最初のスライドに図形を追加し、実行マクロのアクション設定を割り当てます:StartTimer次のスライドに図形を追加し、実行マクロのアクション設定を割り当てます:ElapsedTimeスライド2から他のスライドに図形をコピーして貼り付けます。プレゼンテーション。