Cómo controlar eventos de PowerPoint 2002 utilizando Visual Basic .NET 2002

Seleccione idioma Seleccione idioma
Id. de artículo: 308330 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Para obtener una versión de Microsoft Visual C# .NET de este artículo, consulte 308825.
Para obtener una versión de Microsoft Visual C++ .NET de este artículo, consulte 309309.
Expandir todo | Contraer todo

Resumen

En este artículo se describe cómo controlar eventos de Microsoft PowerPoint 2002 mediante Microsoft Visual Basic .NET 2002.

Más información

Con Microsoft Visual Studio. NET, no puede utilizar a delegados para eventos con PowerPoint. PowerPoint utiliza la interfaz IDispatch para desencadenar eventos. Para recibir correctamente los eventos, la aplicación de Visual Basic .NET debe utilizar las interfaces IConnectionPointContainer e IConnectionPoint . La aplicación receptora también debe conocer los DISPID de los eventos para recibir. Estos DISPID no se enumeran en la biblioteca de tipo de PowerPoint, pero se muestran en el código de ejemplo siguiente de referencia.

Crear al cliente de automatización ejemplo Visual Basic .NET

  1. Inicie Microsoft Visual Studio NET.. En el menú archivo , haga clic en nuevo y, a continuación, haga clic en proyecto . En tipos de proyecto haga clic en Proyectos de Visual Basic , haga clic en Aplicación para Windows , bajo plantillas . Se creará Form1 de manera predeterminada.
  2. Agregue una referencia a la Biblioteca de objetos de PowerPoint . Para ello, siga estos pasos:
    1. En el menú proyecto , haga clic en Agregar referencia .
    2. En la ficha COM , busque Microsoft PowerPoint 10.0 Object Library y, a continuación, haga clic en seleccionar . Nota : si ha no lo ha hecho, es recomendable que se descargue e instale Microsoft Office XP Primary Interop Assemblies (PIA). Para obtener información adicional acerca de Office XP PIA, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
      328912INFORMACIÓN: El PIA de Microsoft Office XP están disponibles para descarga
    3. Haga clic en Aceptar en el cuadro de diálogo Agregar referencias para aceptar la selección. Si recibe un mensaje para generar contenedores para las bibliotecas seleccionadas, haga clic en .
  3. En el menú Ver , haga clic en cuadro de herramientas para mostrar el cuadro de herramientas y agregue dos botones y un cuadro de lista a Form1.
  4. En secuencia, haga doble clic en Button1 , Button2 y Form1 .
  5. En la ventana de código, reemplace el código siguiente
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
                                                                    Handles Button1.Click
    
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
                                                                    Handles Button2.Click
    
    End Sub
    
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
                                                                   Handles MyBase.Load
    
    End Sub
    					
    con:
        Private m_oConnectionPoint As UCOMIConnectionPoint
        Private m_Cookie As Integer
        Private oPPT As PowerPoint.Application
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
                                                                       Handles MyBase.Load
            ' Create a new instance of PowerPoint.
            oPPT = New PowerPoint.Application()
    
            ' Show PowerPoint to the user.
            oPPT.Visible = Microsoft.Office.Core.MsoTriState.msoTrue
        End Sub
    
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
                                                                        Handles Button2.Click
            ' Call Unadvise to remove the sink to the connection.
            m_oConnectionPoint.Unadvise(m_Cookie)
            System.Runtime.InteropServices.Marshal.ReleaseComObject(oPPT)
            GC.Collect()
        End Sub
    
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
                                                                        Handles Button1.Click
            Dim oConnPointContainer As UCOMIConnectionPointContainer
            ' QI for IConnectionPointContainer.
            oConnPointContainer = CType(oPPT, UCOMIConnectionPointContainer)
            ' Create a new variable that contains the GUID of the 
            ' PowerPoint.EApplication interface.
            Dim guid As New Guid("914934C2-5A91-11CF-8700-00AA0060263B")
            ' Find the connection point.
            oConnPointContainer.FindConnectionPoint(guid, m_oConnectionPoint)
            ' Call Advise to sink up the connection.
            m_oConnectionPoint.Advise(Me, m_Cookie)
        End Sub
    
        <DispId(2001)> Public Sub WindowSelectionChange(ByVal Sel As PowerPoint.Selection)
            Me.ListBox1.Items.Add("WindowSelectionChange")
        End Sub
    
        <DispId(2002)> Public Sub WindowBeforeRightClick(ByVal Sel As PowerPoint.Selection,
                                                                   ByVal Cancel As Boolean)
            Me.ListBox1.Items.Add("WindowBeforeRightClick")
        End Sub
    
        <DispId(2003)> Public Sub WindowBeforeDoubleClick(ByVal Sel As PowerPoint.Selection,
                                                                    ByVal Cancel As Boolean)
            Me.ListBox1.Items.Add("WindowBeforeDoubleClick")
        End Sub
    
        <DispId(2004)> Public Sub PresentationClose(ByVal Pres As PowerPoint.Presentation)
            Me.ListBox1.Items.Add("PresentationClose")
        End Sub
    
        <DispId(2005)> Public Sub PresentationSave(ByVal Pres As PowerPoint.Presentation)
            Me.ListBox1.Items.Add("PresentationSave")
        End Sub
    
        <DispId(2006)> Public Sub PresentationOpen(ByVal Pres As PowerPoint.Presentation)
            Me.ListBox1.Items.Add("PresentationOpen")
        End Sub
    
        <DispId(2007)> Public Sub NewPresentation(ByVal Pres As PowerPoint.Presentation)
            Me.ListBox1.Items.Add("NewPresentation")
        End Sub
    
        <DispId(2008)> Public Sub PresentationNewSlide(ByVal Sld As PowerPoint.Slide)
            Me.ListBox1.Items.Add("PresentationNewSlide")
        End Sub
    
        <DispId(2009)> Public Sub WindowActivate(ByVal Pres As PowerPoint.Presentation,
                                                 ByVal Wn As PowerPoint.DocumentWindow)
            Me.ListBox1.Items.Add("WindowActivate")
        End Sub
    
        <DispId(2010)> Public Sub WindowDeactivate(ByVal Pres As PowerPoint.Presentation,
                                                   ByVal Wn As PowerPoint.DocumentWindow)
            Me.ListBox1.Items.Add("WindowDeactivate")
        End Sub
    
        <DispId(2011)> Public Sub SlideShowBegin(ByVal Wn As PowerPoint.SlideShowWindow)
            Me.ListBox1.Items.Add("SlideShowBegin")
        End Sub
    
        <DispId(2012)> Public Sub SlideShowNextBuild(ByVal Wn As PowerPoint.SlideShowWindow)
            Me.ListBox1.Items.Add("SlideShowNextBuild")
        End Sub
    
        <DispId(2013)> Public Sub SlideShowNextSlide(ByVal Wn As PowerPoint.SlideShowWindow)
            Me.ListBox1.Items.Add("SlideShowNextSlide")
        End Sub
    
        <DispId(2014)> Public Sub SlideShowEnd(ByVal Pres As PowerPoint.Presentation)
            Me.ListBox1.Items.Add("SlideShowEnd")
        End Sub
    
        <DispId(2015)> Public Sub PresentationPrint(ByVal Pres As PowerPoint.Presentation)
            Me.ListBox1.Items.Add("PresentationPrint")
        End Sub
    
    
        <DispId(2016)> Public Sub SlideSelectionChanged(ByVal SldRange As PowerPoint.SlideRange)
            Me.ListBox1.Items.Add("SlideSelectionChanged")
        End Sub
    
        <DispId(2017)> Public Sub ColorSchemeChanged(ByVal SldRange As PowerPoint.SlideRange)
            Me.ListBox1.Items.Add("ColorSchemeChanged")
        End Sub
    
        <DispId(2018)> Public Sub PresentationBeforeSave(ByVal Pres As PowerPoint.Presentation,
                                                                       ByVal Cancel As Boolean)
            Me.ListBox1.Items.Add("PresentationBeforeSave")
        End Sub
    
        <DispId(2019)> Public Sub SlideShowNextClick(ByVal Wn As PowerPoint.SlideShowWindow,
                                                         ByVal nEffect As PowerPoint.Effect)
            Me.ListBox1.Items.Add("SlideShowNextClick")
        End Sub
    					
  6. Agregue lo siguiente a la sección Imports al principio de la ventana de código:
    Imports System.Runtime.InteropServices 
    Imports Microsoft.Office.Interop
    					
  7. Pruebe el programa. Para ello, siga estos pasos:
    1. Presione F5 para generar y ejecutar el programa. Se inicia PowerPoint.
    2. Haga clic en Button1 para configurar los receptores de sucesos.
    3. Crear una nueva presentación en PowerPoint.

      Desencadenan el WindowActivate , NewPresentation , PresentationNewSlide y WindowSelectionChange eventos.
    4. Guarde la presentación.

      El evento PresentationSave se desencadena.
    5. Cierre la presentación.

      El evento PresentationClose se desencadena.
    6. Activar Form1 en el programa. Los eventos que se desencadena por PowerPoint y controlados por el programa aparecen en el cuadro de lista.
    7. Haga clic en Button2 para desconectar a los receptores de sucesos.
    8. Cierre Formulario1 .

Referencias

Para obtener información adicional, haga clic en el número de artículo siguiente para ver el artículo en Microsoft Knowledge Base:
254009INFORMACIÓN: PowerPoint 2000 evento demostración disponible para descarga
Para obtener más información acerca de automatización de Office, consulte el siguiente sitio soporte técnico de Microsoft Office Development:
Preguntas más frecuentes y cuestiones destacadas para el desarrollo de Office
http://support.microsoft.com/ofd

Propiedades

Id. de artículo: 308330 - Última revisión: domingo, 09 de febrero de 2014 - Versión: 4.3
La información de este artículo se refiere a:
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palabras clave: 
kbnosurvey kbarchive kbmt kbautomation kbhowto KB308330 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 308330

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com