2009-09-23 10 views
13

Mi piacerebbe essere in grado di avanzare attraverso una presentazione di PowerPoint premendo i pulsanti in un modulo di Windows. Ecco un po 'di codice che ho trovato da http://bytes.com/topic/c-sharp/answers/272940-open-powerpoint-presentation-c-window-form che si apre uno spettacolo di presentazione di diapositive di Powerpoint:C# - modo per avanzare programmaticamente la presentazione di Powerpoint?

Microsoft.Office.Interop.PowerPoint.Application oPPT; 
Microsoft.Office.Interop.PowerPoint.Presentations objPresSet; 
Microsoft.Office.Interop.PowerPoint.Presentation objPres; 

//the location of your powerpoint presentation 
string strPres = @"filepath"; 

//Create an instance of PowerPoint. 
oPPT = new Microsoft.Office.Interop.PowerPoint.ApplicationClass(); 

// Show PowerPoint to the user. 
oPPT.Visible = Microsoft.Office.Core.MsoTriState.msoTrue; 

objPresSet = oPPT.Presentations; 

//open the presentation 
objPres = objPresSet.Open(strPres, MsoTriState.msoFalse, 
MsoTriState.msoTrue, MsoTriState.msoTrue); 

objPres.SlideShowSettings.Run(); 

non ho trovato metodi che possono avanzare attraverso le diapositive, però. Qualche idea?

(In realtà quello che sto cercando di fare è usare il WiiRemote per far avanzare le diapositive, per un progetto studentesco).

risposta

10

Il metodo per avanzare in modo programmatico è "SlideShowWindow.View.Next". Puoi anche usare "SlideShowWindow.View.Previous" per andare indietro.

1

Penso che si potrebbe fare questo per eseguire uno alla volta, per esempio:

oSettings = objPres.SlideShowSettings 
oSettings.StartingSlide = 3 
oSettings.EndingSlide = 3 

oSettings.Run() 
Do While oApp.SlideShowWindows.Count >= 1 
    System.Windows.Forms.Application.DoEvents() 
Loop 
3

Sembra che ci sia un metodo chiamato GotoSlide che funziona, solo bisogno di scavare un po 'di più! Ad esempio:

int i = 0; 
while (true) 
{ 
    i++; 
    objPres.SlideShowWindow.View.GotoSlide(i, MsoTriState.msoFalse); 
    System.Threading.Thread.Sleep(5000); 
} 
0

Si potrebbe avere una risposta per la domanda, Tuttavia per le persone che dovranno affrontare lo stesso tipo di problema, invierò un collegamento per un codice C# opensource che gestisce senza problemi questo tipo di situazione.

https://code.msdn.microsoft.com/office/How-to-Automate-control-23cd2a8f

scaricare il file zip, all'interno v'è un progetto C# che controlla diapositive in power point perfettamente

Auguri gente.

Problemi correlati