Como criar e adicionar slides a apresentações do PowerPoint com VBA?

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:

  1. Criação de nova apresentação (em branco ou usando um modelo)
  2. Adicione slides a uma apresentação existente.
  3. 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

  1. No Editor VB, clique com o botão direito do mouse em VBAProject e pressione Inserir .
  2. Selecione Módulo .
  3. 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
  1. Clique em Arquivo e depois em Salvar.
  2. Para executar seu código, clique em Executar e, em seguida, selecione Executar formulário de sub/usuário (ou simplesmente F5).
  3. Feche o editor VB.

VBA para inserir slides

  1. No Editor VB, clique com o botão direito do mouse em VBAProject e pressione Inserir.
  2. Selecionar módulo
  3. 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
  1. Clique em Arquivo e depois em Salvar.
  2. Para executar seu código, clique em Executar e, em seguida, selecione Executar formulário de sub/usuário (ou simplesmente F5).
  3. 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.

Leave a Comment

Como corrigir o código de erro NVIDIA GeForce Experience 0x0003 no Windows 10?

Como corrigir o código de erro NVIDIA GeForce Experience 0x0003 no Windows 10?

Cansado de corrigir o código de erro 0x0003 da Nvidia Geforce Experience no PC com Windows 10 e nada está funcionando? Em seguida, siga as correções fáceis fornecidas neste artigo.

Corrigir NOX Player sem som Windows 10 com 9 soluções rápidas

Corrigir NOX Player sem som Windows 10 com 9 soluções rápidas

Você está enfrentando NOX Player No Sound Issue enquanto joga seu jogo favorito? Em seguida, leia este guia detalhado e resolva o problema.

[RESOLVIDO] Erros do Call of Duty Advanced Warfare - travando, travando, FPS baixo e mais

[RESOLVIDO] Erros do Call of Duty Advanced Warfare - travando, travando, FPS baixo e mais

Aprenda a solucionar vários erros do Call of Duty Advanced Warfare, como travamentos, gagueira e FPS baixo para uma experiência de jogo otimizada.

Como corrigir um erro de falha ao carregar Steamui.dll no Steam

Como corrigir um erro de falha ao carregar Steamui.dll no Steam

Um erro fatal "falha ao carregar steamui.dll" no Steam pode ser corrigido. Confira as soluções eficazes para resolver este problema.

Como corrigir o erro 3000 do Twitch? [100% resolvido]

Como corrigir o erro 3000 do Twitch? [100% resolvido]

Obtendo o Twitch Error 3000 no Chrome, siga as soluções fornecidas e comece a vaporizar o Twitch sem o erro de decodificação do recurso 3000 Media.

[RESOLVIDO] Erros do American Truck Simulator: Crash, Steam_Api64.Dll está ausente e mais

[RESOLVIDO] Erros do American Truck Simulator: Crash, Steam_Api64.Dll está ausente e mais

Quer CORRIGIR ERROS DO AMERICAN TRUCK SIMULATOR: CRASH, LOW FPS, STEAM_API64.DLL ESTÁ FALTANDO PROBLEMA e MAIS, então siga as soluções fornecidas com cuidado.

Desempenho lento do Microsoft Word? Sete dicas para tornar o Word 365 / 2019 / 2016 muito mais rápido

Desempenho lento do Microsoft Word? Sete dicas para tornar o Word 365 / 2019 / 2016 muito mais rápido

Saiba como você pode facilmente tornar o Word 365 mais rápido ao desabilitar suplementos, atualizar seu hardware e se livrar de arquivos temporários.

[RESOLVIDO] Como corrigir League Of Legends d3dx9_39.dll ausente, erro DirectX

[RESOLVIDO] Como corrigir League Of Legends d3dx9_39.dll ausente, erro DirectX

Aprenda a corrigir erros d3dx9_39.dll e DirectX em League Of Legends. Siga as soluções fornecidas para resolver erros DirectX ausentes d3dx9_39.dll.

Como corrigir o problema do controlador PS5 não conecta/não sincroniza?

Como corrigir o problema do controlador PS5 não conecta/não sincroniza?

Se o controlador PS5 não se conectar ou não sincronizar, experimente estas soluções testadas e comprovadas para corrigir esses problemas de conexão.

Como corrigir NTLDR está faltando erro no Windows 10/8/7?

Como corrigir NTLDR está faltando erro no Windows 10/8/7?

Saiba como solucionar o erro "NTLDR está faltando" no Windows com as soluções mais eficientes. Conheça também o que causa o erro NTLDR e outras informações relevantes.