Como processar eventos do PowerPoint 2002 utilizando o Visual Basic .NET 2002

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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

308330
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Para obter uma Microsoft Visual C# .NET versão deste artigo, consulte 308825.
Para obter uma versão de Microsoft Visual C++ .NET deste artigo, consulte 309309.
Sumário
Este artigo descreve como processar eventos do Microsoft PowerPoint 2002 utilizando o Microsoft Visual Basic .NET 2002.
Mais Informação
Com o Microsoft Visual Studio .NET, pode utilizar delegados para receber eventos com o PowerPoint. O PowerPoint utiliza a interface IDispatch para lançar eventos. Para Lavatório correctamente os eventos, a aplicação de Visual Basic .NET tem de utilizar as interfaces IConnectionPointContainer e IConnectionPoint . A aplicação de recepção também tem de saber o DISPID dos eventos receber. Estes DISPID não está listados na biblioteca de tipos do PowerPoint, mas listado no código de exemplo abaixo como referência.

Criar o cliente de automatização exemplo do Visual Basic .NET

  1. Inicie o Microsoft Visual Studio NET.. No menu ficheiro , clique em Novo e em seguida, clique em projecto . Em tipos de projecto clique em Projectos do Visual Basic e clique em Windows Application em Templates . É criado o Form1 por predefinição.
  2. Adicione uma referência à Biblioteca de objectos do Microsoft PowerPoint . Para o fazer, siga estes passos:
    1. No menu projecto , clique em Add Reference .
    2. No separador COM , localize Microsoft PowerPoint 10.0 Object Library e, em seguida, clique em Seleccionar . Nota : Se tiver não o fez, recomenda-se que transferir e, em seguida, instale o Microsoft Office XP Primary Interop Assemblies (PIAs). Para obter informações adicionais sobre PIAs do Office XP, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
      328912INFO: PIAs do Microsoft Office XP estão disponíveis para transferência
    3. Clique em OK na caixa de diálogo Adicionar referências para aceitar a selecção. Se receber um pedido para gerar wrappers para as bibliotecas que seleccionou, clique em Sim .
  3. No menu Ver , clique em caixa de ferramentas para visualizar a mesma e adicione dois botões e uma caixa de listagem ao Form1.
  4. Em sequência, duplo clique Button1 , Button2 e Form1 .
  5. Na janela de código, substitua o seguinte código
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)                                                                Handles Button1.ClickEnd SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)                                                                Handles Button2.ClickEnd SubPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)                                                               Handles MyBase.LoadEnd 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 à secção importações na parte superior da janela de código:
    Imports System.Runtime.InteropServices Imports Microsoft.Office.Interop					
  7. Teste o programa. Para o fazer, siga estes passos:
    1. Prima F5 para compilar e executar o programa. O PowerPoint é iniciado.
    2. Clique em Button1 para configurar os "event sinks".
    3. Crie uma nova apresentação no PowerPoint.

      Lançar WindowActivate , NewPresentation , PresentationNewSlide e WindowSelectionChange eventos.
    4. Guarde a apresentação.

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

      O evento ' PresentationClose é accionado.
    6. Active Form1 no programa. Aparecem os eventos que foram accionados pelo PowerPoint e processados pelo programa na caixa de lista.
    7. Clique em Button2 para desligar os "event sinks".
    8. Feche o Form1 .
Referências
Para obter informações adicionais, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
254009INFO: O PowerPoint 2000 eventos demonstração disponível para transferência
Para obter mais informações sobre automatização do Office, consulte o seguinte site de suporte do Microsoft Office Development:
Perguntas mais frequentes e destaques para desenvolvimento Office
http://support.microsoft.com/ofd
PowerPoint vb evento net energia ponto ligação

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 308330 - Última Revisão: 02/10/2014 18:05:37 - Revisão: 4.3

  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • kbnosurvey kbarchive kbmt kbautomation kbhowto KB308330 KbMtpt
Esta informação foi útil?