1

パワーポイントをネットワーク フォルダにエクスポートするサーバーを持っています (Microsoft が推奨していないことはわかっているので、それらは割愛してください)。

私のアプリケーションは、パワーポイントを大型テレビに表示するために使用する必要があるため、パワーポイントのスライド ショー (ちらつきなし) を継続的に表示したいと考えています。そのフォルダーに新しいファイルが作成されるたびにチェックするイベント (FileSystemWatcher) があります。となれば、パワーポイントで開いてスライドショーを開始。

問題は、古いものを考慮せずにスライド ショーを開始した場合、問題なく動作し、短い問題が発生しますが、ちらつきはありません。しかし、私はパワーポイントのインスタンスをたくさん開いています。

スライド ショーを開始し、古いインスタンスを閉じようとしましたが、そうすると、新しいスライド ショーも閉じられます。

助言がありますか?

作業用のコードですが、あまりメモリに優しくありません....

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

1 に答える 1

1

解決策を見つけました (powerpoint 2010 の場合) 最初にプレゼンテーション 1 のスライド ショーを開始し、次にそのスライドショー ビューを取得します。プレゼンテーション 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;
于 2012-12-21T08:53:16.060 に答える