USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  CONSEGUI RESPOSTA PARA: Gerar PPT a partir do VB
fjralberto
SANTO ANDRÉ
SP - BRASIL
ENUNCIADA !
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.
   
fjralberto
SANTO ANDRÉ
SP - BRASIL
ENUNCIADA !
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.
   
Perci
MATÃO
SP - BRASIL
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.
     
fjralberto
SANTO ANDRÉ
SP - BRASIL
ENUNCIADA !
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
Pontos: 2843
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 24/06/2008 18:43 hs            
oque vc pois em references ?
   
Página(s): 1/3      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página