首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# powerpoint互操作多张幻灯片

C# powerpoint互操作多张幻灯片
EN

Stack Overflow用户
提问于 2012-12-19 20:55:01
回答 1查看 1.5K关注 0票数 1

我有一台服务器,可以将powerpoints导出到网络文件夹(我知道微软不推荐这样做,所以请不要这样做)

我的应用程序应该用来在大电视上显示powerpoint,因此我希望powerpoints幻灯片连续播放(没有闪烁)。我有一个事件(FileSystemWatcher),每当在该文件夹上创建新文件时都会进行检查。打开后,它将使用powerpoint打开并开始幻灯片放映。

问题是,如果我开始放映幻灯片而不考虑旧的,它工作得很好,有一个短暂的小插曲,但没有闪烁。然而,我打开了大量的powerpoint实例。

我试图启动幻灯片放映,并关闭旧的实例,但当我这样做时,新的幻灯片放映也被关闭/退出。

有什么建议吗?

用于工作的代码,但对内存不是很友好...

代码语言:javascript
复制
PPT.Application oPpt = new PPT.Application();
PPT.Presentations oPresSet = oPpt.Presentations;
PPT.Presentation oPres = oPresSet.Open(e.FullPath, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoTrue);
PPT.Slides oSlides = oPres.Slides;
PPT.SlideShowSettings objSSS = oPres.SlideShowSettings;

objSSS.Run();
EN

回答 1

Stack Overflow用户

发布于 2012-12-21 16:53:16

找到了解决方案(针对powerpoint 2010)首先为演示文稿1启动幻灯片放映,然后检索幻灯片放映视图。开始演示文稿2的幻灯片放映,然后使用幻灯片显示视图关闭演示文稿1的幻灯片放映,然后关闭演示文稿1的演示文稿。

在代码中(继续上面的代码)

代码语言:javascript
复制
objSSS.Run();
PPT.SlideShowView oSlideView = oPres.SlideShowWindow.View;


if (oldPPTPres != null && oldPPTView != null)
{
     oldPPTView.Exit();

     oldPPTPres.Close();
}

oldPPTView = oSlideView;
oldPPTPres = oPres;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13952922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档