簡體   English   中英

C#PowerPoint Interop多個幻燈片放映

[英]C# powerpoint interop multiple slide shows

我有一台將Powerpoint導出到網絡文件夾的服務器(我知道Microsoft不推薦這樣做,所以請給我保留這些)

我的應用程序應該用於在大型電視上顯示Powerpoint,因此,我希望連續不斷地播放Powerpoint幻燈片(不閃爍)。 我有一個事件(FileSystemWatcher),該事件檢查何時在該文件夾上創建新文件。 當它打開時,它會以powerpoint打開並開始幻燈片放映。

問題是,如果我在不考慮過時的情況下開始放映幻燈片,效果很好,打h時間短,但沒有閃爍。 但是然后我打開了許多powerpoint實例。

我試圖開始幻燈片放映,並關閉舊實例,但是當我這樣做時,新的幻燈片放映也被關閉/退出。

有什么建議么?

該代碼可以正常工作,但是對內存不是很友好。

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();

找到解決方案(針對PowerPoint 2010)。首先為演示文稿1開始幻燈片放映,然后為它檢索slideshowview。 開始演示文稿2的幻燈片放映,然后使用slideshowview關閉演示文稿1的幻燈片放映,然后關閉演示文稿1的演示文稿。

在代碼中(從上面繼續我的代碼)

objSSS.Run();
PPT.SlideShowView oSlideView = oPres.SlideShowWindow.View;


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

     oldPPTPres.Close();
}

oldPPTView = oSlideView;
oldPPTPres = oPres;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM