none
Powerpoint VBAで「終了」のアニメーションを設定したい RRS feed

  • 質問

  • PowerPoint 2013で,ある図形に対して,[アニメーション]タブ → [アニメーション] → [終了] → [フェード]を設定するという処理をVBAでやりたいと思います。

    [開始]のアニメーションにつきましては,


    https://docs.microsoft.com/ja-jp/office/vba/api/powerpoint.sequence.addeffect


    に以下のサンプルコードがあり,

    Sub AddBouncingAnimation()
    
        Dim sldActive As Slide
        Dim shpSelected As Shape
    
        Set sldActive = ActiveWindow.Selection.SlideRange(1)
        Set shpSelected = ActiveWindow.Selection.ShapeRange(1)
    
        ' Add a bouncing animation.
        sldActive.TimeLine.MainSequence.AddEffect _
            Shape:=shpSelected, effectId:=msoAnimEffectBounce
    
    End Sub



    これで実行できることを確認しました。

    しかし,[終了]のアニメーションの設定方法がわかりません。

    AddEffect メソッドの effectId パラメータを調べてみましたが,

    [終了]のアニメーションに該当しそうなものがわかりませんでした。

    ご教示いただければ幸いです。




    2019年2月23日 4:30

回答

  • AddEffectでEffectが作られるので、それのExitプロパティを設定します

    Dim eff As Effect
    Set eff = sldActive.TimeLine.MainSequence.AddEffect _
        (Shape:=shpSelected, effectId:=msoAnimEffectFade)
        
    eff.Exit = msoTrue 'このプロパティを設定
    eff.Timing.Duration = 3

    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2019年2月23日 5:30

すべての返信

  • AddEffectでEffectが作られるので、それのExitプロパティを設定します

    Dim eff As Effect
    Set eff = sldActive.TimeLine.MainSequence.AddEffect _
        (Shape:=shpSelected, effectId:=msoAnimEffectFade)
        
    eff.Exit = msoTrue 'このプロパティを設定
    eff.Timing.Duration = 3

    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2019年2月23日 5:30
  • gekkaさん,早速のご回答ありがとうございます。

    おかげさまで,所望の処理が実現できました。

    ありがとうございました。

    2019年2月23日 6:31