Como manipular eventos do PowerPoint 2002 usando o Visual Basic .NET 2002

Traduções deste artigo Traduções deste artigo
ID do artigo: 308330 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 308825.
Para uma versão deste artigo do Microsoft Visual C++. NET, consulte 309309.
Expandir tudo | Recolher tudo

Sumário

Este artigo descreve como manipular eventos do Microsoft PowerPoint 2002 usando o Microsoft Visual Basic .NET 2002.

Mais Informações

Com o Microsoft Visual Studio. NET, você não pode usar representantes para coletar eventos com o PowerPoint. O PowerPoint usa a interface IDispatch para disparar eventos. Para coletar os eventos corretamente, o aplicativo .NET Visual Basic deve usar as interfaces IConnectionPointContainer e IConnectionPoint . O aplicativo de recebimento também deve saber os DISPIDs dos eventos para coletor. Esses DISPIDs não estão listados na biblioteca de tipos do PowerPoint, mas listados no código de exemplo abaixo para referência.

Criar o cliente de automação exemplo Visual Basic .NET

  1. Inicie o Microsoft Visual Studio NET.. No menu arquivo , clique em novo e, em seguida, clique em Project . Clique em Project types em Projetos do Visual Basic , clique Windows Application em modelos . O Form1 é criado por padrão.
  2. Adicione uma referência à Biblioteca de objetos do Microsoft PowerPoint . Para fazer isso, execute as seguintes etapas:
    1. No menu Project , clique em Add Reference .
    2. Na guia COM , localize a Biblioteca de objetos do Microsoft PowerPoint 10.0 e em seguida, clique em Selecionar . Observação : se você ainda não fez isso, é recomendável que você baixe e instale o Microsoft Office XP Primary Interop Assemblies (PIAs). Para obter informações adicionais sobre PIAs do Office XP, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
      328912INFO: Microsoft Office XP PIAs estão disponíveis para download
    3. Clique em OK na caixa de diálogo Add References para aceitar sua seleção. Se você receber uma solicitação para gerar wrappers para as bibliotecas que você selecionou, clique em Sim .
  3. No menu Exibir , clique em caixa de ferramentas para exibir a caixa de ferramentas e adicione dois botões e uma caixa de listagem ao Form1.
  4. Em seqüência, clique duas vezes em Button1 , Button2 e Form1 .
  5. Na janela código, substitua o código a seguir
    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
    					
    com:
        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. Adicione o seguinte à seção Imports na parte superior da janela de código:
    Imports System.Runtime.InteropServices 
    Imports Microsoft.Office.Interop
    					
  7. Teste o programa. Para fazer isso, execute as seguintes etapas:
    1. Pressione F5 para compilar e executar o programa. PowerPoint for iniciado.
    2. Clique em Button1 para configurar os receptores de evento.
    3. Crie uma nova apresentação no PowerPoint.

      O WindowActivate , NewPresentation , PresentationNewSlide e WindowSelectionChange eventos acionam.
    4. Salve a apresentação.

      O evento PresentationSave é acionado.
    5. Feche a apresentação.

      O evento PresentationClose é acionado.
    6. Ative Form1 no programa. Os eventos que foram disparados pelo PowerPoint e manipulados pelo programa aparecem na caixa lista.
    7. Clique em Button2 para desconectar receptores de evento.
    8. Feche Formulário1 .

Referências

Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
254009INFO: PowerPoint 2000 eventos demonstração disponível para download
Para obter mais informações sobre automação do Office, consulte o seguinte site Suporte Microsoft Office Development:
Perguntas freqüentes e destaques para o desenvolvimento do Office
http://support.microsoft.com/ofd

Propriedades

ID do artigo: 308330 - Última revisão: quinta-feira, 24 de outubro de 2013 - Revisão: 4.3
A informação contida neste artigo aplica-se a:
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbautomation kbhowto KB308330 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 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