2010-12-13 4 views
0

В настоящее время я пытаюсь изменить некоторые настройки в файлах .pptx через C# и Microsoft.Office.Interop.PowerPoint. У меня есть некоторые .wmv фильмы, связанные с несколькими слайдами презентации. В то время, когда были созданы презентации, все фильмы воспроизводятся сразу же после их нажатия. Однако я хочу изменить это, чтобы автоматически начать воспроизведение, как только просматривается слайд. Это нужно сделать для большого количества презентаций, поэтому нет возможности сделать это вручную.Автовоспроизведение фильма в презентации PowerPoint с C#

Я нашел свойство PlaySettings.PlayOnEntry, но я не могу понять, как его использовать. Я нашел несколько примеров, как это сделать с новым фильмом для встраивания (а затем только для Visual Basic), но поскольку фильмы уже встроены, это не то, что я хочу.

Я также не знаю, как я могу получить доступ к любым объектам на текущем слайде, возможно, есть способ проверить, является ли форма видео-файлом, а затем изменить настройку выше, но MSDN-Reference не очень полезно для Office-Topics. Я использую Powerpoint 2007 и Visual Studio 2010, если это имеет значение.

ответ

1

Got it. Поиск по всем формам презентации и отфильтровывая фильмы работает:

//While iterating through all slides i: 
    objShapes = objPres.Slides[i].Shapes; 
    foreach (Microsoft.Office.Interop.PowerPoint.Shape s in objShapes) { 
      if(s.Name.Contains(".wmv")){ 
      s.AnimationSettings.PlaySettings.PlayOnEntry = MsoTriState.msoTrue; 
    } 
    } 
+0

Великого услышать сортируются. Вы можете принять свой собственный ответ, нажав полый флажок рядом со стрелками вверх/вниз по этому ответу. Когда у вас есть шанс, воспользуйтесь возможностью прочитать FAQ @ http://stackoverflow.com/faq. –

2

@ решение redfalcon является частью этого, то тогда нужен страничный триггер

var videoAnimation = slide.TimeLine.MainSequence.FindFirstAnimationFor(objShapes); 
if (videoAnimation != null) 
{ 
    videoAnimation.Timing.TriggerType = PowerPoint.MsoAnimTriggerType.msoAnimTriggerWithPrevious; 
} 
Смежные вопросы