powerpoint以编程方式添加由mediaobject中的书签触发的文本框动画

时间:2010-08-19 03:21:04

标签: vba vsto powerpoint powerpoint-vba

我正在尝试以编程方式在文本框上添加淡入淡出效果,该文本框由媒体对象中的书签触发,例如电影。 因此,当电影播放并到达书签时,文本框将显示淡入淡出效果。

我已经能够将文本框添加到幻灯片并将书签添加到mediaobject形状,例如使用以下代码

现在我应该在哪里添加淡入淡出效果? VSTO或vba代码真的会有所帮助!这一切都在办公室14

    var application = Globals.ThisAddIn.Application;
    PowerPoint.Slide activeSlide = application.ActiveWindow.View.Slide;
    PowerPoint.Shape selectedShape = application.ActiveWindow.Selection.ShapeRange[1];

    selectedShape.MediaFormat.MediaBookmarks.Add(2000, "Bookmark A");
    selectedShape.MediaFormat.MediaBookmarks.Add(5000, "Bookmark B");
    selectedShape.MediaFormat.MediaBookmarks.Add(9000, "Bookmark C");

    PowerPoint.Shape textBox1 = activeSlide.Shapes.AddTextbox(Office.MsoTextOrientation.msoTextOrientationHorizontal, 0, 0, 500, 50);
    textBox1.Name = "TextBox1";
    textBox1.TextFrame.TextRange.InsertAfter("TextBox1 text");

    PowerPoint.Shape textBox2 = activeSlide.Shapes.AddTextbox(Office.MsoTextOrientation.msoTextOrientationHorizontal, 0, 30, 500, 50);
    textBox2.Name = "TextBox2";
    textBox2.TextFrame.TextRange.InsertAfter("TextBox2 text");

2 个答案:

答案 0 :(得分:3)

查看Shyam Pillai的页面Media Format and Bookmarks,其中包含用于向MediaFormat对象书签添加动画的VBA代码。

答案 1 :(得分:1)

谢谢Shyam的代码指出我正确的方向,只需要正确阅读! 以下是我从Shyam那里得到的东西。

第二个触发效果实际上与第一个触发效果相反,退出淡入淡出,请注意最后的退出,再次感谢Shyam。

        activeSlide.TimeLine.InteractiveSequences.Add().AddTriggerEffect(
            textBox2,
            MsoAnimEffect.msoAnimEffectFade,
            MsoAnimTriggerType.msoAnimTriggerOnMediaBookmark,
            selectedShape,
            "Bookmark A",
            MsoAnimateByLevel.msoAnimateLevelNone);   

        activeSlide.TimeLine.InteractiveSequences.Add().AddTriggerEffect(
            textBox2,
            MsoAnimEffect.msoAnimEffectFade,
            MsoAnimTriggerType.msoAnimTriggerOnMediaBookmark,
            selectedShape,
            "Bookmark B",
            MsoAnimateByLevel.msoAnimateLevelNone).Exit = MsoTriState.msoTrue;