É interessante podermos criar uma apresentação com slides no PowerPoint a partir de dados contidos no MS Access.
Adicionalmente poderemos exibir e controlar a apresentação dos slides a partir de um formulário de acesso.
Durante o transcorrer deste artigo procure por soluções e explore maneiras de estender o modo de demostrá-las nos seus próprios aplicativos.
Talvez algum cliente peça-lhe que crie manualmente slides do Microsoft Office PowerPoint regularmente em base semanal com dados oriundos do Microsoft Office Access.
Bem, não podemos exportar dados diretamente do Access para o PowerPoint. No entanto, podemos simplificar a tarefa, dependendo das nossas necessidades e desejo de escrevermos no VBA (Microsoft Visual Basic for Applications).
Analisaremos aqui duas formas de interação entre o Access e PowerPoint.
O primeiro exemplo ilustra como criar uma apresentação do PowerPoint a partir dos dados de uma tabela do Access usando automação.
O segundo exemplo mostra como exibir e manipular uma apresentação do PowerPoint existente num formulário do Access, usando também Automation. A Automação lhe dá a capacidade de controlar uma aplicação a partir de outra, manipulando as propriedades e métodos disponíveis no aplicativo controlado, respondendo a eventos.
Criando uma apresentação PowerPoint a partir de dados do Access
Este exemplo cria uma apresentação de slides usando os dados do MS Access. Um objeto Recordset é criado a partir dos dados de uma tabela. Os dados deste conjunto de registros é usado para preencher um slide da apresentação.Faça o seguinte para criar a apresentação de slides:
1 - inicie o MS Access e abra um banco de dados.
2 - Crie um formulário com base em qualquer tabela, que contenha as seguintes características e objetos:Formulário: CreateFromAccessDataCaption: PowerPoint DemoBotão de comando: cmdPowerPointNome: cmdPowerPointCaption: PowerPoint Example
Largura: +/- 5 cm
3 - No menu View, clique em código.4 - No menu Ferramentas, clique em Referências.5 - Nas caixas de referências disponíveis, clique na opção:Microsoft PowerPoint 9.0 Object Library and Microsoft Office 9.0 Object Library6 - Clique em OK para fechar a caixa de diálogo.7 - Adicione a seguinte linha de código na seção de Declaração Geral:
Option Explicit
8 - Digite ou cole o seguinte código:
Sub cmdPowerPoint_Click()Dim db As Database, rs As RecordsetDim ppObj As PowerPoint.ApplicationDim ppPres As PowerPoint.PresentationOn Error GoTo err_cmdOLEPowerPoint' Open up a recordset on the Employees table.Set db = CurrentDbSet rs = db.OpenRecordset("Employees", dbOpenDynaset)' Open up an instance of Powerpoint.Set ppObj = New PowerPoint.ApplicationSet ppPres = ppObj.Presentations.Add' Setup the set of slides and populate them with data from the' set of records.With ppPresWhile Not rs.EOFWith .Slides.Add(rs.AbsolutePosition + 1, ppLayoutTitle).Shapes(1).TextFrame.TextRange.Text = "Hi! Page " & rs.AbsolutePosition + 1.SlideShowTransition.EntryEffect = ppEffectFadeWith .Shapes(2).TextFrame.TextRange.Text = CStr(rs.Fields("LastName").Value).Characters.Font.Color.RGB = RGB(255, 0, 255).Characters.Font.Shadow = TrueEnd With.Shapes(1).TextFrame.TextRange.Characters.Font.Size = 50End Withrs.MoveNextWendEnd With' Run the show.ppPres.SlideShowSettings.RunExit Suberr_cmdOLEPowerPoint:MsgBox Err.Number & " " & Err.DescriptionEnd Sub
9 - Salve o formulário PowerPointDemo e abra-o como visualizar.10 - Clique no exemplo do PowerPoint.
Note que a apresentação com os slides no PowerPoint será criada e exibida na tela. Clique a seta do mouse e a mova-se através dos slides.
Usando a Automação para exibir uma apresentação do PowerPoint
Este exemplo mostrará como exibirmos os slides do PowerPoint num formulário do Access. Esta técnica utiliza a automação do Access para abrir uma apresentação do PowerPoint conectada ao primeiro slide. Ao exibir os outros slides alteraremos a propriedade SourceItem, o que nos permitirá conectar-nos aos diferentes slides.Observação: Para usarmos esta técnica, devemos ter tanto PowerPoint quanto o b instalados na estação de trabalho.Também precisaremos criar uma apresentação PowerPoint (. Ppt). Durante todo o processo, substitua o seguinte nome de arquivo com o nome e o caminho do arquivo: C: \ Program Files \ Microsoft Office \ Office \ Pptexample.ppt. Há um exemplo fornecido abaixo para download, ele contém uma apresentação de amostra.Este exemplo cria um formulário com cinco botões e um controle de objeto para vincular a uma apresentação PowerPoint que permitirá mover-se através dos seus slides.
Private Sub insertShow_Click()On Error GoTo insertShow_Click_Error' Open PowerPointDim strPowerPointFile As StringDim pptobj As PowerPoint.ApplicationSet pptobj = New PowerPoint.Applicationpptobj.Visible = Truepptobj.WindowState = ppWindowMinimizedLet strPowerPointFile = CurrentProject.Path & "\Access2PowerPoint.ppt"' Fill a collection with all Slide IDs.With pptobj.Presentations.Open(strPowerPointFile)Set mcolSlideIDs = New CollectionDim ppSlide As PowerPoint.SlideFor Each ppSlide In .SlidesmcolSlideIDs.Add ppSlide.SlideIDNext.CloseEnd With' Close PowerPointpptobj.QuitSet pptobj = Nothing' Make object frame visible and enable "navigation" buttons.pptFrame.Visible = TruefrstSlide.Enabled = TruelastSlide.Enabled = TruenextSlide.Enabled = TruepreviousSlide.Enabled = True' Specify OLE Class, Type, SourceDoc, SourceItem and other properties.With pptFrame.Class = "Microsoft Powerpoint Slide".OLETypeAllowed = acOLELinked.SourceDoc = strPowerPointFileEnd WithSetSlide 1frstSlide.SetFocusinsertShow.Enabled = FalseExit SubinsertShow_Click_Error:MsgBox Err.Number & " " & Err.DescriptionExit SubEnd SubPrivate Sub SetSlide(ByVal ID As Integer)On Error GoTo ErrorHandlerSelect Case IDCase Is > mcolSlideIDs.CountMsgBox "This is the last slide."Case 0MsgBox "This is the first slide."Case ElsemlngSlideIndex = IDWith pptFrame.SourceItem = mcolSlideIDs(mlngSlideIndex).Action = acOLECreateLinkEnd WithEnd SelectExit SubErrorHandler:MsgBox Err.Number & " " & Err.DescriptionExit SubEnd Sub
Download OfficeAccess2PowerPointSample.exe
References:
Microsoft Knowledge Base Article - ACC2000: How to create sample Visual Basic for Applications code that uses Automation to create a PowerPoint 2000 presentation in Access 2000Microsoft Knowledge Base Article - ACC2000: How to Display Microsoft PowerPoint Slides on a FormMicrosoft Knowledge Base Article - ACC2000: How to Create an MS Graph in PowerPoint Using Access
Tags: VBA, Access, export, Powerpoint, report, apresentation, Slides, automation, propriedades,
Nenhum comentário:
Postar um comentário