使用C#在PowerPoint演示文稿中自动播放影片

时间:2010-12-13 12:39:54

标签: c# .net powerpoint office-automation

我目前正在尝试通过C#和Microsoft.Office.Interop.PowerPoint更改.pptx文件中的某些设置。我在演示文稿的几张幻灯片上链接了一些.wmv电影。在创建演示文稿时,所有电影都会在点击后立即播放。但是,我希望将其更改为在查看幻灯片后立即自动播放。这必须在很多演示文稿中完成,因此无法手动执行此操作。

我找到了PlaySettings.PlayOnEntry属性,但我无法弄清楚如何使用它。我找到了一些如何使用要嵌入的新电影(然后,仅适用于Visual Basic)的示例,但由于电影已经嵌入,这不是我想要的。

我也不知道如何实际访问当前幻灯片上的任何对象,也许有办法检查一个形状是否是一个视频文件,然后更改上面的设置,但MSDN-Reference不是很有帮助在Office-Topics上。如果重要的话,我正在使用Powerpoint 2007和Visual Studio 2010。

2 个答案:

答案 0 :(得分:2)

@ Lennart的解决方案是其中的一部分,然后您需要一个页面触发器

var videoAnimation = slide.TimeLine.MainSequence.FindFirstAnimationFor(objShapes);
if (videoAnimation != null)
{
    videoAnimation.Timing.TriggerType = PowerPoint.MsoAnimTriggerType.msoAnimTriggerWithPrevious;
}

答案 1 :(得分:1)

知道了。搜索各种形式的演示文稿并过滤掉电影的作品:

//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;
    }
   }