|
Postada em 24/06/2008 11:48 hs
Bom dia a todos novamente... consegui arrumar uma solução e adapta-la de maneira que espero que ajude alguns!
Vamos lá: Ao clicar em um botão de um form seja gerado um arquivo uma apresentação no powerpoint com textos, slides e gráficos e no final esta apresentação é salva...
segue o código: (é só abrir um form e um botão no formato padrão e jogar o código dentro)
Private Sub Command1_Click()
' Iniciar o PowerPoint. Dim ppApp As PowerPoint.Application Set ppApp = CreateObject("Powerpoint.Application")
' Deixa-lo visível. ppApp.Visible = True
'Adicionar uma nova apresentação. Dim ppPres As PowerPoint.Presentation Set ppPres = ppApp.Presentations.Add(msoTrue)
' Adicionar um 1º slide. Dim ppSlide1 As PowerPoint.Slide Set ppSlide1 = ppPres.Slides.Add(1, ppLayoutText)
' Adicionar 2 caixas de textos no 1º slide. ppSlide1.Shapes(1).TextFrame.TextRange.Text = "Tópico do 1º Slide" ppSlide1.Shapes(2).TextFrame.TextRange.Text = "SUBTópico do 1º Slide!"
' Adicionando 2º slide com um gráfico. Dim ppSlide2 As PowerPoint.Slide Set ppSlide2 = ppPres.Slides.Add(2, ppLayoutTextAndChart)
' Adicionando 2 caixas de textos no 2º slide ppSlide2.Shapes(1).TextFrame.TextRange.Text = "Tópico do 2º Slide" ppSlide2.Shapes(2).TextFrame.TextRange.Text = "SUBTópico do 2º Slide"
'Definindo o gráfico que está sendo criado no 2º slide. Dim cTop As Double Dim cWidth As Double Dim cHeight As Double Dim cLeft As Double With ppSlide2.Shapes(3) cTop = .Top cWidth = .Width cHeight = .Height cLeft = .Left .Delete End With ppSlide2.Shapes.AddOLEObject cLeft, cTop, cWidth, cHeight, "MSGraph.Chart"
'Adicionando 3º slide. Dim ppSlide3 As PowerPoint.Slide Set ppSlide3 = ppPres.Slides.Add(3, ppLayoutTextAndChart)
'Adicionando texto no slide 3. ppSlide3.Shapes(1).TextFrame.TextRange.Text = "Tópico do 3º Slide"
'Definindo o gráfico que está sendo criado no slide 2. With ppSlide3.Shapes(2) cTop = .Top cWidth = .Width cHeight = .Height cLeft = .Left .Delete End With ppSlide3.Shapes.AddOLEObject cLeft, cTop, cWidth, cHeight, "MSGraph.Chart"
'Salvar a apresentação ppApp.ActivePresentation.SaveAs ("diretório e nome do arquivo")
' Encerrar apresentação e sair do PowerPoint ppApp.Quit
End Sub
Quando eu arrumar uma forma que fazer com que os gráficos sejam alimentados por uma base de dados eu postarei!
Abraços!
Alberto
"Em tijolo em tijolo a casa sai!" Autor: Eu mesmo.
|
|
|
|
Perci
|
MATÃO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 24/06/2008 14:59 hs
Legal, colega, então coloca nas dicas para que todos possam utilizá-la, também. Ate mais.
|
|
|
|
Postada em 24/06/2008 15:09 hs
Estou até tentando colocar no dicas, mas na hora de enviar está dando erro! Tentarei outra hora então!
FlW
Alberto
"Em tijolo em tijolo a casa sai!" Autor: Eu mesmo.
|
|
|
|
Postada em 24/06/2008 16:52 hs
É, bem que alguma vez eu já vi reclamarem desse tipo de coisa: querer postar algo nas dicas ou na troca de arquivos e não conseguir. Os nossos colegas têm razão de reclamar, não é? Até mais.
|
|
|
|
Postada em 24/06/2008 17:03 hs
Pois é!!!! E assim o site vai ficando defasado!
Fazer o que!
Alberto
"Em tijolo em tijolo a casa sai!" Autor: Eu mesmo.
|
|
|
KoRn
|
SAO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 24/06/2008 18:43 hs
oque vc pois em references ?
|
|
|