Alguns dias atrás, um leitor perguntou sobre a existência de uma maneira de automatizar a criação de apresentações do PowerPoint a partir do zero e, em seguida, adicionar rapidamente slides a essa apresentação existente. Eu pensei que esse script pode estar altamente na lista das macros do PowerPoint mais úteis.
Como indicamos no passado, o PowerPoint não inclui um Gravador de Macros (ao contrário do Excel e do Word, que possuem gravadores integrados para Macro). Portanto, ficamos com o bom e velho Visual Basic for Application que podemos usar para criar macros simples para automatizar o PowerPoint. Existem outras alternativas para a Automação do PowerPoint, mas essas vão além do escopo deste tutorial.
No breve tutorial de hoje, abordaremos três casos de uso diferentes:
- Criação de nova apresentação (em branco ou usando um modelo)
- Adicione slides a uma apresentação existente.
- Uma mistura dos dois casos mencionados acima (Criar do zero e adição de slides)
Vamos começar.
Olhe para a fita. Se você não vir a entrada Desenvolvedor no menu, antes de iniciar sua codificação, você precisará habilitar a guia Desenvolvedor.
Depois de tornar o menu Desenvolvedor visível em sua Faixa de Opções, vá em frente e pressione Desenvolvedor , depois pressione o botão Visual Basic (ou simplesmente vá em frente e pressione Alt+F11) para abrir o IDE do Visual Basic.
VBA para criar apresentação do PowerPoint
- No Editor VB, clique com o botão direito do mouse em VBAProject e pressione Inserir .
- Selecione Módulo .
- Cole o seguinte código no módulo recém-criado.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
- Clique em Arquivo e depois em Salvar.
- Para executar seu código, clique em Executar e, em seguida, selecione Executar formulário de sub/usuário (ou simplesmente F5).
- Feche o editor VB.
VBA para inserir slides
- No Editor VB, clique com o botão direito do mouse em VBAProject e pressione Inserir.
- Selecionar módulo
- Cole o seguinte código no módulo recém-criado.
Sub CreateSlide()
Dim NewSlide as Slide
'This statement ads a title slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
End Sub
- Clique em Arquivo e depois em Salvar.
- Para executar seu código, clique em Executar e, em seguida, selecione Executar formulário de sub/usuário (ou simplesmente F5).
- Feche o editor VB.
Macro para configurar uma nova apresentação e adicionar slides
Isso seria apenas misturar os dois trechos descritos acima.
Sub CreatePres_AddSlides()
Dim NewPres as Presentation
Dim NewSlide as Slide
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
' Title Slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
'Save the new PowerPoint file
NewPres.SaveAs("MyPresentation.pptx")
End Sub
Em seguida, você pode consultar nosso tutorial sobre como criar formas programaticamente no PowerPoint com VBA
Gerar uma apresentação do PowerPoint a partir do Excel
O último caso é que você gostaria de criar uma apresentação do PowerPoint diretamente de uma planilha do Excel. Você pode empregar a mesma técnica do Word e de outros aplicativos do Microsoft 365.
- Vincule a planilha ao modelo de dados do PowerPoint (em Ferramentas>>Referências)
- Insira um botão em sua planilha do Excel (Desenvolvedor >> Inserir e, em seguida, escolha um botão de comando).
- Insira o código VBA abaixo em seu projeto VBA de planilha (diretamente na planilha ou em um módulo VBA)
- Modifique o script conforme necessário.
- Execute (pressione F5) e teste o resultado.
Sub CreatePresentationFromExcel()
Dim MyPPt As PowerPoint.Application
Dim NewPres As PowerPoint.Presentation
Dim NewSlide As Slide
Set MyPPt = CreateObject("PowerPoint.Application")
Set NewPres = MyPPt.Presentations.Add
Set NewSlide = MyPPt.ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
NewPres.SaveAs ("MyPresentation.pptx")
NewPres.Close
MyPPt.Quit
MsgBox ("Presentation saved")
End Sub
Aproveite 🙂
Prós do Excel VBA PowerPoint
- Usar VBA no Powerpoint facilita o manuseio se um arquivo ppt tiver tantos slides com conteúdo enorme.
- VBA com Powerpoint oferece um toque de automação mesmo com funções limitadas disponíveis.
Contras do Excel VBA PowerPoint
- Precisamos selecionar a Biblioteca de objetos do Microsoft PowerPoint 15.0 na opção Referência localizada na opção do menu Ferramentas, necessária no início do exemplo 1, sempre que executamos o código do PowerPoint.
Coisas para lembrar
- Salve o arquivo no formato Macro-Enable Presentation após escrever o código. Isso nos ajudará a evitar perder o código e usá-lo várias vezes no futuro.
- O recurso de recodificação não funcionará aqui, pois precisamos pular do Excel para o PowerPoint alterando a interface entre as páginas.
- Sempre compile o código antes de executá-lo. Isso ajudará você a encontrar o erro no código. Isso é bastante útil quando escrevemos grandes linhas de código.
- Para executar e implementar o código precisamos abrir a planilha Excel com o Gráfico que queremos colar no slide do PowerPoint.
- Podemos alinhar o gráfico no PowerPoint de acordo com nossas necessidades.