Criando Apresentaçõ...
 
Notifications
Clear all

Criando Apresentações no Power Point usando o Excel

5 Posts
2 Usuários
0 Reactions
2,287 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Como não achei nada, vou deixar esse topico aqui, prq com toda certeza será o que mais irei utilizar na nova rotina que estou implementando aqui no trabalho.

Na 1ª parte estou disponibilizando o codigo que consegui para começo do meu "esboço" de trabalho.

Primeiro é necessário importar a Library:
Microsoft PowerPoint 14.0 Object Library dentro dessa biblioteca estarão todos os métodos e objetos necessários para essa integração com o Power Point.
Menu Ferramentas > Referência do seu Microsoft Visual Basic

Vamos criar uma rotina chamada:
Sub gerarApresentacao()

End Sub

Variaveis
Dim pptApp As PowerPoint.Application
Dim pptPres As PowerPoint.Presentation
Dim pptSld As PowerPoint.Slide
Dim strImage As String

A primeira pptApp é para abrir a Aplicação no caso o PowerPoint, a segunda pptPre serve para criarmos uma Apresentação Nova, a terceira pptSld para os slides e por fim a variável strImage que irá guardar o intervalo do Excel que será exportado para o Power Point.

O comando abaixo é para criar um objeto do tipo Power Point.
Set pptApp = CreateObject("PowerPoint.Application")

Esse serve apenas para tornar o objeto( o Arquivo Power Point Criado) visível durante a execução da rotina.
pptApp.Visible = msoTrue

Nos comandos abaixo criamos uma nova apresentação e ativamos na Aplicação que geramos anteriormente.
Em outras palavras, primeiro iniciamos o Power Point e depois fomos em Arquivo – Novo- Apresentação em Branco.
Set pptPres = pptApp.Presentations.Add
Set pptPres = pptApp.ActivePresentation
Set pptSld = pptPres.Slides.Add(1, ppLayoutBlank)

ppLayoutBlank = Laytout vazio;
ppLayoutChart = Layout com gráfico;
ppLayoutComparison = Layout de comparação ;

Para você ver todos os Layout, basta na hora que você estiver digitando o comando Set pptSld = pptPres.Slides.Add(1, ppLayoutBlank), depois da virgula após o numero 1 irão aparecer todas as opções.

A linha abaixo estará direcionando um intervalo na sua planilha que consta a tabela que será importada pro Power Point e o segunda é para gerar uma imagem dela.
strImage = Range("A1:B5").Select
Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture

Os dois comandos abaixo estarão inserindo a imagem no slide.
pptApp.ActiveWindow.View.GotoSlide pptSld.SlideIndex
pptSld.Shapes.Paste.Select

E por fim os dois últimos comandos são para alinhar a imagem no slide.
pptApp.ActiveWindow.Selection.ShapeRange.Top = pptApp.ActiveWindow.Selection.ShapeRange(1).Top + 110
pptApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True

Segue o Código Completo:

Sub gerarApresentacao()

Dim pptApp As PowerPoint.Application
Dim pptPres As PowerPoint.Presentation
Dim pptSld As PowerPoint.Slide
Dim strImage As String

Set pptApp = CreateObject("PowerPoint.Application")
pptApp.Visible = msoTrue

Set pptPres = pptApp.Presentations.Add
Set pptPres = pptApp.ActivePresentation

strImage = Range("A1:B5").Select

Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
pptApp.ActiveWindow.View.GotoSlide pptSld.SlideIndex

pptSld.Shapes.Paste.Select
pptApp.ActiveWindow.Selection.ShapeRange.Top = pptApp.ActiveWindow.Selection.ShapeRange(1).Top + 110

pptApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True

End Sub

 
Postado : 22/06/2015 9:14 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Deixarei em "aberto" sem resolvido, pois a modo que estiver sendo desenvolvido por mim estarei utilizando esse topico (ou qualquer pessoa).

A primeira dúvida:
Como posso utilizar a Celula A1 (exemplo), como titulo na apresentação do slides?
Sempre que mudar o excel, executo a macro sendo gerada nova apresentação.

Abraços

 
Postado : 22/06/2015 9:19 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alguem??
precisaria de 2 ajudas...

1 - Abrir um PPT ja com layout pre definido.
2 - Inserir Titulos ou comentarios nos Slides que constem em determinadas Celulas do Excel;
Exemplo:
Celula B1 sempre será titulo
Celula B6 tera comentário em caixa texto abaixo do gráfico.

 
Postado : 23/06/2015 9:28 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

:oops: :oops: :oops:
Poxa ... Ninguem?

:| :|

 
Postado : 24/06/2015 11:45 am
(@sandroh)
Posts: 0
New Member
 

Fala JPerez, tudo bem cara?
Vi tua mensagem e peço desculpas pela demora em responder, é que fiquei um tempo longe do fórum kkkk
O que você quer parece tranquilo, o que fiz já possui um layout definido também.
Você terá que criar uma aba para fazer isso, no meu caso criei a aba e os layouts dos slides previamente, e conforme o usuário solicita a macro confecciona.
Referente aos títulos é mais fácil, clique no titulo do gráfico e referencie a célula em questão...

Anexe a sua planilha que dou uma olhada e um suporte...

Abraço.

 
Postado : 09/07/2015 10:39 am