PowerPoint автоматически добавляет анимацию текстового поля, запускаемую закладкой в ​​​​медиаобъекте

Я пытаюсь программно добавить эффект затухания в текстовое поле, которое запускается закладкой в ​​​​медиаобъекте, например, в фильме. Поэтому, когда фильм воспроизводится и достигает закладки, появляется текстовое поле с эффектом затухания.

Я дошел до того, что смог добавить текстовое поле на слайд и добавить закладки в форму медиаобъекта, например, используя следующий код

Теперь, где я должен добавить эффект затухания? Код 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");

person alex    schedule 19.08.2010    source источник
comment
просто хотел проверить, отвечает ли нижеприведенный ответ на ваш вопрос.   -  person Todd Main    schedule 18.02.2011


Ответы (2)


Взгляните на страницу Shyam Pillai здесь Формат мультимедиа и закладки, на которой есть код VBA для добавления анимация к закладкам объекта MediaFormat.

person Todd Main    schedule 19.08.2010
comment
Все еще не то, что я искал, так как мне нужно добавить эффект затухания в текстовое поле, а затем каким-то образом связать его с запуском на закладке. - person alex; 19.08.2010
comment
Он работает именно для того, что вы просили. Просто обменяйте msoAnimEffectPathCircle на msoAnimEffectFade в AddBookmarkTrigger. - person Todd Main; 20.08.2010

Спасибо, код Шьяма указал мне правильное направление, просто нужно было правильно его прочитать! Вот что сработало для меня, что я получил от Шьяма.

Второй триггерный эффект на самом деле действует противоположно первому, выходя из затухания, обратите внимание на выход в конце, еще раз спасибо 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;
person alex    schedule 19.08.2010