#c# #powerpoint
Вопрос:
Я пытаюсь разработать надстройку VSTO для PowerPoint. Мне нужна надстройка, чтобы иметь возможность изменять настройки анимационного эффекта фигуры.
В настоящее время у меня проблема с изменением настройки анимационного эффекта фигуры из VSTO. Каждый раз, когда я пытался применить изменения к свойствам эффекта анимации для выделения и типа выхода, указанный эффект анимации исчезал из списка на панели анимации, но без проблем, когда это анимация типа входа. Должно быть, я что-то здесь упустил.
Это код, который я пробовал до сих пор:
public void ApplyChanges(int selectedAfterAnim, bool smoothStart, bool smoothEnd, bool bounceEnd, bool autoReverese) {
PowerPoint.Effect effect = Globals.ThisAddIn.Application.ActivePresentation.Slides[slideIndex].TimeLine.MainSequence[effectIndex];
PowerPoint.Shape shape = effect.Shape;
//The selectedAfterAnim value is a ComboBox SelectedIndex
switch (selectedAfterAnim) {
case 0:
shape.AnimationSettings.AfterEffect = PowerPoint.PpAfterEffect.ppAfterEffectNothing;
break;
case 1:
shape.AnimationSettings.AfterEffect = PowerPoint.PpAfterEffect.ppAfterEffectDim;
break;
case 2:
shape.AnimationSettings.AfterEffect = PowerPoint.PpAfterEffect.ppAfterEffectHide;
break;
case 3:
shape.AnimationSettings.AfterEffect = PowerPoint.PpAfterEffect.ppAfterEffectHideOnClick;
break;
default:
_ = MessageBox.Show("Error while applying changes to shape's after animation setting.", "Error");
break;
}
effect.Timing.SmoothStart = smoothStart ? Microsoft.Office.Core.MsoTriState.msoTrue : Microsoft.Office.Core.MsoTriState.msoFalse;
effect.Timing.SmoothEnd = smoothEnd ? Microsoft.Office.Core.MsoTriState.msoTrue : Microsoft.Office.Core.MsoTriState.msoFalse;
effect.Timing.BounceEnd = bounceEnd ? Microsoft.Office.Core.MsoTriState.msoTrue : Microsoft.Office.Core.MsoTriState.msoFalse;
effect.Timing.AutoReverse = autoReverese ? Microsoft.Office.Core.MsoTriState.msoTrue : Microsoft.Office.Core.MsoTriState.msoFalse;
}
Я новичок как в C#, так и в надстройках VSTO. Любая помощь очень ценится.
Комментарии:
1. VSTO ничего для этого не предусматривает. Это чистый вопрос PowerPoint.