2011-01-25 9 views
0

ファイルを連続ループで再生したいのですが、最後のスライドに達した後に新しいファイルを開くと、新しいPowerPointウィンドウが開き、スライドが開始されます。 どうすれば問題を解決できますか?C# - PowerPointプレゼンテーションを連続表示する

 public Microsoft.Office.Interop.PowerPoint.SlideShowWindow startppt(string pptDatei) 
    { 
     WatchingLabel.Text = "Präsentation läuft..."; 
     started = true; 
     ende = false; 
     objPres = ppApp.Presentations.Open(pptDatei, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue, Microsoft.Office.Core.MsoTriState.msoTrue); 

     objPres.SlideShowSettings.ShowWithAnimation = Microsoft.Office.Core.MsoTriState.msoTrue; 
     presWin = objPres.SlideShowSettings.Run(); 

     return presWin; 
    } 

    private void timer1_Tick(object sender, EventArgs e) 
    { 
     WatchingLabel.Text = "Watching..."; 

     if (System.IO.Directory.Exists(ordner)) 
     { 
      pptDatei.Clear(); 
      pptDatei.AddRange(System.IO.Directory.GetFiles(ordner, "*.ppt")); 

      if (started == true && presWin.View.State == Microsoft.Office.Interop.PowerPoint.PpSlideShowState.ppSlideShowDone) 
      { 
       objPres.Close(); 
       ende = true; 
       started = false; 
      } 

      if (pptDatei.Count > 0 && ende && started == false) 
      { 
       if (index < pptDatei.Count) 
       { 
        startppt(pptDatei[index]); 
        index += 1; 
       } 
       else 
       { 
        index = 0; 
       } 
      } 
      else if (pptDatei.Count > 0 && ende == false && started == true) 
      { 
       presWin.View.Next(); 
      } 

     } 
    } 

    public void ppApp_PresentationClose(Microsoft.Office.Interop.PowerPoint.Presentation Pres) 
    { 
     pptDatei = new List<string>(); 
     started = false; 
     ende = true; 
     WatchingLabel.Text = "Präsentation beenden..."; 
    } 

    public void ppApp_SlideShowEnd(Microsoft.Office.Interop.PowerPoint.Presentation Pres) 
    { 
     ende = true; 
     started = false; 
    } 
+0

@ user589216:あなたの質問に以下の回答があるかどうかをフォローアップしてみたいです –

答えて

1

残念ながら、いいえ、複数のPowerPointファイルではできません。 PowerPoint 2010以前は、複数のPPTを同時に実行することはできません(さらにPP2010を使用してもPPTを実行することはできません)。したがって、1つをシャットダウンして新しいものを開くと、メインの実行ウィンドウが失われます。

複数のPowerPointインスタンスを作成して表示/非表示に設定し、スライドショーが終了するとプログラムで次の表示を非表示にして表示することができますが、既に発生しているのと同じフリッカーの問題があります。

あなたができることは、ディレクトリ内のすべてのpptを読み込み、必要な順番で新しいデッキにすべてマージし(レイアウトなどを指定して)、キオスクループでそのデッキを実行することです。

関連する問題