VBA コードからシェイプ アニメーションをトリガーすることは可能ですか?
ポンポン
ポム、
パワーポイント 2010 より前のバージョンでは、可能ではないようです: http://www.pptalchemy.co.uk/vba_Triggers.html。
ただし、powerpoint 2010 を使用している場合、MSDN には、powerpoint で形状アニメーションをトリガーするための簡単なデモが詳しく説明されています。
Sub TestShapeAnimation()
With ActivePresentation.Slides(1)
Dim shp1, shp2, shp3 As Shape
' This sets the initial shape, with which we will test the animation sequences.
Set shp1 = .Shapes.AddShape(msoShape12pointStar, 20, 20, 100, 100)
' This creates the animations.
.TimeLine.MainSequence.AddEffect shp1, msoAnimEffectFadedSwivel, , msoAnimTriggerAfterPrevious
.TimeLine.MainSequence.AddEffect shp1, msoAnimEffectPathBounceRight, , msoAnimTriggerAfterPrevious
.TimeLine.MainSequence.AddEffect shp1, msoAnimEffectSpin, , msoAnimTriggerAfterPrevious
' This acquires the animation... [i]
shp1.PickupAnimation
' [i] ... and applies it to another shape.
Set shp2 = .Shapes.AddShape(msoShapeHexagon, 100, 20, 100, 100)
shp2.ApplyAnimation
' Another shape creation / animation application.
Set shp3 = .Shapes.AddShape(msoShapeCloud, 180, 20, 100, 100)
shp3.ApplyAnimation
End With
End Sub
さらに質問や考えがある場合はお知らせください -
~JOL
残念ながら、JackOrangeLantern の応答は、元の質問に対して特に応答しているわけではありません。JOL の応答は、タイムライン上のアニメーションをコピーしてさまざまな形状に適用するのに役立ちますが、実際にそれらをトリガーすることはありません。
Powerpoint 2010 以前をお持ちの場合、実際に VBA でアニメーションをトリガーする直接的な方法はありません。Powerpoint の新しいバージョンにはあまり詳しくありませんが、この機能もないと思います。
インタラクティブなアニメーションを実際にトリガーするには、実際のマウス クリックが必要なようです。Powerpoint では、実際に Windows API をいじる必要のある高度で過度に複雑なコーディングなしでは簡単にシミュレートできません。これに対して私が見つけた最善の回避策は、スライド上の図形にマウス クリックを送信せず、代わりにキーボード ストロークを送信することです。
PPT Alchemy Mouseover からこのソリューションを発見しました vba コードでアニメーションをトリガーします
Sub anim()
SendKeys("{TAB}")
SendKeys("{ENTER}")
End Sub
このコードは、スライドの最初のインタラクティブなトリガーをアクティブにします。スライドで 2 番目のトリガー アニメーションを有効にするには、{TAB} キーを 1 回ではなく 2 回送信します。これは、PowerPoint スライドでトリガー アニメーションを有効にする最も簡単な方法です。より良い方法がないのは残念です。
より詳細な説明については、リンクをたどってください。
気をつけて。:)