「開始:前へ」で設定されたPowerPoint入口アニメーションは、新しいスライドが進むとすぐに始まります。ただし、同じ方法で終了アニメーションを設定した場合は、スライドの終了シーケンスで開始されません。代わりに、「開始:クリック時」トリガーを使用する必要があります終了アニメーションが終わった後も、次のスライドに進むために1回追加のクリックが必要です。
回避策 sこれは明白です:複製スライドを作成し、元のスライドの終了アニメーションを複製スライドの開始アニメーションにして、好きなように追従させるか、遷移スライドを作成しますこれらの終了アニメーションのみで、「アドバンススライドの変更->自動的に終了-> [アニメーションが終了するまでの時間]」を設定します。
これらの回避策は、視聴者にとって視覚的に機能します。ただし、スライド番号に影響があり、それに応じて調整したり、コンテンツの変更を複製したりする必要がある場合があります。プレゼンテーションを作成して使用するのがあなただけの場合は、これで十分です。しかし、他の3人と共同モードでプレゼンテーションを作成していて、最後に誰が発表者になるかさえわからない場合は、混乱する可能性があります。
具体的に説明しましょう。私のスライドのほとんどは、右、下、または左から来るコンテンツのブロックに適用される入口アニメーションで0.2秒のフライが適用されています。次のスライドに進むと、別の0.2秒の出口アニメーションで飛び出し、続いて新しいブロックの入口のアニメーションで新しいスライド0.2秒が飛びます。の ブロックの交換 通常どおり、次のスライドに進むときにトリガーする必要があります。
前述のとおり、スライド間を1回クリックしなければ、これを実現することはできません。
私はVBAスクリプトを記述しました。これは、終了アニメーションと一緒に開始し、終了アニメーションが終了すると、0.3秒後にスライドを自動的に進めます。そうすれば、今必要な余分なクリックを取り除く必要があります。
Sub nextslide()
iTime = 0.3
Start = Timer
While Timer < Start + iTime
DoEvents
Wend
With SlideShowWindows(1).View
.GotoSlide (ActivePresentation.SlideShowWindow.View.Slide.SlideIndex + 1)
End With
End Sub
ボックス、ボタン、または別のオブジェクトにバインドするとうまく機能します。しかし、私はそれをシングルクリックで実行させることはできません (スライド上の任意の場所) 終了アニメーションのonclickトリガーと一緒に開始できるようにします。スライド全体に大きな透明な長方形を作成し、その上にマクロをバインドしても、効果はありません。クリックするだけでマクロが実行され、終了アニメーションはトリガーされません。
とにかく、私はマクロを他の回避策オブジェクトにバインドしたくないが、スライド自体はバインドしたくない。
誰でも知っていますスライドのonclickイベントでPowerPoint VBAスクリプトをトリガーする方法
誰もが秘密を知っています終了アニメーションを期待どおりに機能させる設定、つまり、次のスライドに移行するときにスライドを終了する直前にアニメーション化しますか?
誰でもこのドラゴンを倒す方法を知っていますか?
ありがとうございました!
また、トランジション(タブ)-> 00:00:00秒後にスライドを進めるを設定することもできます。 SLIDESHOW(タブ)をUse(Rehearsal)Timingsに設定する必要があります。これにより、最後のアニメーションアクションの後にスライドが自動的に進みます。もちろん、少し待つこともできますが、スライドを進めたいだけのようです。
クラスモジュールを使用してPowerPointでイベントを傍受できます
クラスモジュール
VBAエクスプローラーの左側のコンボ(オブジェクト)には、pptが表示され、右側にはイベントが表示されます
Private WithEvents ppt As PowerPoint.Application
一般的なモジュールでの使用
set x= new class1
これで、プレゼンテーションのすべてのイベントを使用できます。
[]の
OnSlideShowPageChange:ボタンを押さずにスライドに移動しているときにVBAが機能する
Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow)
If SSW.View.CurrentShowPosition = SSW.Presentation.Slides(x).SlideIndex Then
'PUT CODE HERE
End If
End Sub