Red de conocimiento informático - Material del sitio web - Cómo usar C# para presentaciones PPT

Cómo usar C# para presentaciones PPT

Primero aclare los objetivos que se deben lograr:

1. Puede usar programas C# (WinForm y WPF) para abrir un archivo PPT y cambiar al modo de visualización.

2. La acción de PPT se puede controlar mediante programación. Por ejemplo, página anterior, página siguiente, etc.

3. El programa puede obtener la información mostrada en PPT. Por ejemplo, qué página se reproduce.

4. Puede incrustar la ventana de visualización PPT en su propia interfaz.

5. El programa puede obtener el contenido del documento de esta página. (Enlaces, vídeos, texto, etc. en el interior)

0. Preparación

Primero, agregue

Microsoft.Office.Interop.PowerPoint

<. p>office

Las dos referencias generalmente ya están ahí después de instalar Office.

Declarar los miembros

Estos son casi todos los miembros que deben usarse.

1. Abra el archivo PPT y muéstrelo

(1) Abra el archivo PPT

objPresSet = objApp.Presentations;

objPres = objPresSet.Open(strTemplate, MsoTriState.msoFalse, MsoTriState.msoTrue, MsoTriState.msoTrue);

Después de que el programa ejecute estas dos oraciones, el software de Office se abrirá automáticamente.

(2) Ingresar al modo de visualización

Copiar código

objSlides = objPres.Slides;

int[] SlideIdx = new int[ 3];

for (int i = 0; i lt; 3; i)

SlideIdx[i] = i 1;

objSldRng = objSlides. Range(SlideIdx);

objSST = objSldRng.SlideShowTransition;

objSST.AdvanceOnTime = MsoTriState.msoTrue; objSST.AdvanceTime = 3;

objSST.EntryEffect = PowerPoint.PpEntryEffect.ppEffectBoxOut;

objSSS = objPres.SlideShowSettings;

//Si no desea repetir el programa, cambie VERDADERO a FALSO.

objSSS. LoopUntilStopped = MsoTriState.msoFalse;

objSSS.StartingSlide = 1;

objSSS.EndingSlide = objSlides.Application.ActivePresentation.Slides.Count;

objSSS.Run (); //Espera a que finalice la presentación de diapositivas

Copiar código

La fuente de este código fue ligeramente modificada.

Después de ejecutar objSSS.Run(), PPT ingresa al modo de reproducción.

(3) Obtener información sobre la situación de visualización de PPT.

objApp proporciona muchos eventos, como mostrar la página siguiente, mostrar el inicio, mostrar el final, etc. A continuación se muestra un ejemplo de cómo saber qué página se está reproduciendo actualmente.

objApp.SlideShowNextSlide = objApp_SlideShowNextSlide;

Agregue una función de controlador de eventos para la diapositiva de objApp a la página siguiente. (Cabe señalar que este evento se activa cuando el presentador cambia de página, ya sea que ingrese a la página siguiente o a la anterior)

void objApp_SlideShowNextSlide(PowerPoint.SlideShowWindow Wn)

{

int p = Wn.View.CurrentShowPosition;

textBox1.BeginInvoke(new MethodInvoker(()=gt; textBox1.Text = p.ToString()));

p>

}

El parámetro del controlador de eventos es la página que se muestra actualmente. Puede leer información relevante, como qué página se muestra. Aquí se obtiene la posición de la página que se muestra y se muestra en la ventana.

(4) Incruste la ventana de visualización PPT en su propia interfaz

Devuelva el puerto serie de la pantalla PPT en la función de procesamiento de eventos. Wn.HWDN es el identificador de la ventana real. .

Después de obtener este identificador, puede usar la función SetParent en la API de Windows para vincular esta ventana a su propia ventana.

(5) Obtener el contenido de la página personalizada

Existen dos métodos para obtener el contenido personalizado de la página personalizada.

Una es usar OpenXML

La otra es continuar usando la interfaz COM proporcionada por Office.

Presentaré el método específico para obtenerlo en detalle en otro artículo.