Artigo: 210075 - Última revisão: quarta-feira, 11 de Outubro de 2006 - Revisão: 3.2

ACC2000: Como diapositivos de apresentação Microsoft PowerPoint num formulário

Avançado: Requer conhecimentos avançados sobre codificação, interoperabilidade e multi-utilizador.

Expandir tudo | Reduzir tudo

Sumário

Este artigo mostra a apresentação de diapositivos a partir do Microsoft PowerPoint num formulário no Microsoft Access. Esta técnica utiliza automatização no Access para abrir uma apresentação do PowerPoint e ligar ao primeiro diapositivo. Ver outros diapositivos é efectuada, alterando a propriedade ItemDeOrigem , que lhe permite ligar a diapositivos diferentes.

NOTA: Esta abordagem ligação OLE é o método mais viável para visualizar os diapositivos do Microsoft PowerPoint num formulário no Microsoft Access. Não é possível utilizar a automatização para executar uma apresentação do Microsoft PowerPoint directamente a partir de um controlo de moldura de objecto num formulário.

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador.

Mais Informação

NOTA: Para utilizar esta técnica, tem de ter o PowerPoint e Access instalado no computador. Também terá de criar uma apresentação do PowerPoint (.ppt). Nos passos 7 e 9, substitua o seguinte nome de ficheiro o nome e caminho do ficheiro:
C:\Program Files\Microsoft Office\Office\Pptexample.ppt
O exemplo seguinte cria um formulário com um controlo de moldura de objecto independente e cinco botões de comando para ligar a uma apresentação do PowerPoint (.ppt) e para mover através do respectivos diapositivos.

Para apresentar diapositivos do Microsoft PowerPoint num formulário, siga estes passos:
  1. Numa base de dados nova do Access, crie um novo formulário na vista de estrutura.
  2. Adicione os seguintes cinco controlos ao formulário:
       Command button
       -------------------------
       Name: insertShow
       Caption: Get Presentation
       Enabled: Yes
       
       Command button
       -------------------------
       Name: frstSlide
       Caption: First Slide
       Enabled: No
       
       Command button
       -------------------------
       Name: nextSlide
       Caption: Next Slide
       Enabled: No
       
       Command button
       -------------------------
       Name: previousSlide
       Caption: Previous Slide
       Enabled: No
       
       Command button
       -------------------------
       Name: lastSlide
       Caption: Last Slide
       Enabled: No
    					
  3. Adicione um controlo de moldura de objecto desvinculado ao formulário. Na caixa Inserir objecto , clique no botão Criar novo , seleccione Imagem de mapa de bits como o Tipo de objecto e, em seguida, clique em OK . Note que a moldura de objecto aparece como um espaço em branco no formulário.
  4. Visualize a folha de propriedades para a moldura de objecto independente e, em seguida, defina as respectivas propriedades da seguinte forma:
       Unbound Object Frame
       --------------------
       Name: pptFrame
       SizeMode: Zoom
       Enabled: Yes
       Locked: No
    					
  5. No menu Ver , clique em código para abrir o módulo de formulário.
  6. Adicione o seguinte código à secção General Declarations:
    ' Initialize variables.
    Const firstSlide = 1
    Dim arrSlideID() As Long
    Dim pptobj As Object
    Dim slideindex As Long, slidecount As Long
    						
    adicionar o seguinte erro processamento procedimento:
    Sub ErrHandler()
    
       Dim strError As String
       Dim errObj As Error
       strError = " "
       If DBEngine.Errors.Count > 0 Then
          For Each errObj In DBEngine.Errors
             strError = strError & Format$(errObj.Number)
             strError = strError & " : " & errObj.Description
             strError = strError & " (" & errObj.Source & ") . "
             strError = strError & Chr$(13) & Chr$(10)
          Next
          MsgBox strError
       Else
          MsgBox "Error: " & Err & " " & Error
       End If
    
    End Sub
    					
  7. Na lista de objectos faça clique sobre formulário e clique em lista de carga no procedimento e, em seguida, adicione o seguinte código:

    Nota : substituir o nome do ficheiro "C:\Program Files\Microsoft Office\Office\Pptexample.ppt" com o nome e caminho do ficheiro de apresentação do Power Point.
    Private Sub Form_Load()
       On Error GoTo Form_Load_Error
       Dim i As Integer
       Dim holder As Long, present As Object
    
       ' Start Powerpoint and open an existing presentation.
       holder = Shell("c:\Program Files\Microsoft Office\Office\Powerpnt.exe")
       Set pptobj = CreateObject("PowerPoint.Application")
       Set present = pptobj.Presentations.Open _
          ("c:\Program Files\Microsoft Office\Office\Pptexample.ppt")
    
       ' Determine the number of slides in the presentation.
       slideCount = present.Slides.Count
       
       ' Fill an array with all Slide IDs.
       ReDim arrSlideID(1 To slideCount)
       For i = 1 To slideCount
         arrSlideID(i) = present.Slides(i).SlideID
       Next i
    
       ' Close the presentation.
       pptobj.Presentations _
          ("c:\Program Files\Microsoft Office\Office\Pptexample.ppt").Close
       Set present = Nothing
       Exit Sub
    
    Form_Load_Error:
       ErrHandler
       Exit Sub
    End Sub
    					
  8. Clique em formulário na lista de objectos e clique em Excluir na lista PROC. e, em seguida, adicione o seguinte código:
    Private Sub Form_Unload(Cancel As Integer)
    On Error GoTo Form_Unload_Error
    
       ' Close Powerpoint.
       pptobj.Quit
    
    Exit Sub
    
    Form_Unload_Error:
       ErrHandler
       Exit Sub
    End Sub
    					
  9. Clique em insertShow na lista de objectos e clique em clique na lista PROC. e, em seguida, adicione o seguinte código.

    NOTA: Substitua o nome de ficheiro "C:\Program Files\Microsoft Office\Office\Pptexample.ppt" com o nome e caminho do ficheiro de apresentação do PowerPoint.
    Private Sub insertShow_Click()
       On Error GoTo insertShow_Click_Error
    
       ' Make object frame visible and enable "navigation" buttons.
       pptFrame.Visible = True
       frstslide.Enabled = True
       lastslide.Enabled = True
       nextslide.Enabled = True
       previousslide.Enabled = True
    
       ' Specify OLE Class, Type, SourceDoc, SourceItem and other
       ' properties.
       With pptFrame
          .Class = "Microsoft Powerpoint Slide" 
          .OLETypeAllowed = acOLELinked
          .SourceDoc = "c:\Program "_
          & "Files\Microsoft Office\Office\Pptexample.ppt"
          .SourceItem = arrSlideID(FIRSTSLIDE)
          .Action = acOLECreateLink
       End With
    
       ' Set slide index to the first slide.
       slideindex = FIRSTSLIDE
       frstSlide.setfocus
       insertShow.enabled=false
    
       Exit sub
    
    insertShow_Click_Error:
       ErrHandler
       Exit Sub
    End Sub
    					
  10. Clique em frstSlide na lista de objectos e clique em clique na lista PROC. e, em seguida, adicione o seguinte código:
    Private Sub frstSlide_Click()
       On Error GoTo frstSlide_Click_Error
    
       ' Set SourceItem property to first slide and create a link.
       With pptFrame
          .SourceItem = arrSlideID(FIRSTSLIDE)
          .Action = acOLECreateLink
       End With
    
       slideindex = FIRSTSLIDE
    
       Exit Sub
    
    frstSlide_Click_Error:
       ErrHandler
       Exit Sub
    End Sub
    					
  11. Clique em nextSlide na lista de objectos e clique em clique na lista PROC. e, em seguida, adicione o seguinte código:
    Private Sub nextSlide_Click()
       On Error GoTo nextSlide_Click_Error
    
       ' Determine if current slide is last slide.
       If slideindex < slidecount Then
          slideindex = slideindex + 1
    
          ' Set SourceItem property to next slide and create a link.
          With pptFrame
             .SourceItem = arrSlideID(slideindex)
             .Action = acOLECreateLink
          End With
       Else
          MsgBox "This is the last slide."
       End If
    
       Exit Sub
    
    nextSlide_Click_Error:
       ErrHandler
       Exit Sub
    End Sub
    
    					
  12. Clique em previousSlide na lista de objectos e clique em clique na lista PROC. e, em seguida, adicione o seguinte código:
    Private Sub previousSlide_Click()
       On Error GoTo previousSlide_Click_Error
    
       ' Determine if current slide is first slide.
       If slideindex > FIRSTSLIDE Then
          slideindex = slideindex - 1
    
          ' Set SourceItem property to previous slide and create a link.
          With pptFrame
             .SourceItem = arrSlideID(slideindex)
             .Action = acOLECreateLink
          End With
       Else
          MsgBox "This is the first slide."
       End If
    
       Exit Sub
    
    previousSlide_Click_Error:
       ErrHandler
       Exit Sub
    End Sub
    
    					
  13. Clique em lastSlide na lista de objectos e clique em clique na lista PROC. e, em seguida, adicione o seguinte código:
    Private Sub lastSlide_Click()
       On Error GoTo lastSlide_Click_Error
    
       ' Set SourceItem property to previous slide and create a link.
       With pptFrame
          .SourceItem = arrSlideID(slidecount)
          .Action = acOLECreateLink
       End With
    
       slideindex = slidecount
    
       Exit Sub
    
    lastSlide_Click_Error:
       ErrHandler
       Exit Sub
    End Sub
    
    					
  14. Feche e guarde o módulo de formulário.
  15. Mude o formulário para a vista formulário e, em seguida, clique no botão insertShow (" Obter apresentação ").

A informação contida neste artigo aplica-se a:
  • Microsoft Access 2000 Standard Edition
Palavras-chave: 
kbmt kbhowto kbinterop kbprogramming KB210075 KbMtpt
Tradução automáticaTraduçã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 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.
Clique aqui para ver a versão em Inglês deste artigo: 210075  (http://support.microsoft.com/kb/210075/en-us/ )
 

Traduções de Artigos