2009-09-23 19 views
13

Me gustaría poder avanzar a través de una presentación de Powerpoint al presionar los botones en forma de Windows. Aquí hay un código que he encontrado desde http://bytes.com/topic/c-sharp/answers/272940-open-powerpoint-presentation-c-window-form que abre un programa de presentación de diapositivas de PowerPoint:C# - forma de avanzar programáticamente la presentación de diapositivas de 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(); 

no he encontrado ninguna métodos que pueden avanzar por las diapositivas, sin embargo. ¿Algunas ideas?

(Realmente lo que estoy tratando de hacer es usar el WiiRemote para avanzar las diapositivas, para un proyecto de estudiante).

Respuesta

10

El método para avanzar programáticamente es "SlideShowWindow.View.Next". También puede usar "SlideShowWindow.View.Previous" para retroceder.

1

creo que se podría hacer esto para ejecutarlos uno a la vez, por ejemplo:

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

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

Parece que hay un método llamado GotoSlide que funcione, sólo tenía que cavar un poco más! Por ejemplo:

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

Es posible que tenga una respuesta para su pregunta, sin embargo, para las personas que enfrentarán el mismo tipo de problema, les enviaré un enlace para un código C de código abierto que maneja este tipo de situación sin problemas.

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

Descargar el archivo zip, en el interior hay un proyecto de C# que controla las diapositivas en power point perfectamente

mejores deseos de la gente.

Cuestiones relacionadas