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.
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:
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:
Numa base de dados nova do Access, crie um novo formulário na vista de estrutura.
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
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.
Visualize a folha de propriedades para a moldura de objecto independente e, em seguida, defina as respectivas propriedades da seguinte forma:
No menu Ver , clique em código para abrir o módulo de formulário.
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
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
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
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
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
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
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
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
Feche e guarde o módulo de formulário.
Mude o formulário para a vista formulário e, em seguida, clique no botão insertShow (" Obter apresentação ").
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/
)
O que podemos fazer para melhor estas informações?
Para proteger a sua privacidade, não inclua as informações de contacto nos comentários.
Obrigado! Os seus comentários serão utilizados para nos ajudar a melhorar o conteúdo do suporte. Para obter mais opções de assistência, visite a Home Page da Ajuda e Suporte.