Como copiar adicionar slides em sua apresentação do PowerPoint com macros VBA?

Última atualização: junho de 2020

Aplicável a: Office 2019 e anteriores. Apenas Windows.

Segue a pergunta de um leitor:

Como parte da apresentação do meu relatório trimestral à administração, muitas vezes preciso copiar vários slides de informações gerais de outras apresentações. Não é grande coisa, mas seria uma economia significativa poder automatizar este exercício. Qualquer ajuda de macro VBA para conseguir isso é apreciada!

Como você acabou de mencionar, você pode automatizar a cópia e colagem de slides no PowerPoint usando o Visual Basic for Applications. Se você precisar criar várias apresentações todos os meses, essa automação de cópia / importação de slides pode se tornar uma grande economia de tempo!

PowerPoint VBA para adicionar slides

Vamos começar com este exercício simples.

Primeiro, certifique-se de que sua guia de desenvolvimento esteja habilitada e visível. Aqui está como fazer isso .

Presumo que você já tenha criado uma apresentação habilitada para Macro (o tipo de arquivo é .pptm), que você colocou no mesmo diretório que sua apresentação de origem (a qual me referirei como source.pptm). Veja como criar uma apresentação do PowerPoint com VBA .

Primeiramente, vamos fazer um backup dessa apresentação (copie e salve).

Então vamos em frente e insira a seguinte Macro em um novo módulo VBA em sua apresentação de destino. Todos os detalhes sobre como fazer isso podem ser encontrados em nosso tutorial do PowerPoint VBA .

Aqui está o código VBA que você precisará para copiar e colar automaticamente os slides.

Algumas suposições que fiz:

  • Sua apresentação de origem é denominada source.pptm
  •  Você colará os slides 2-4 da sua apresentação de origem
  • Você colocará os slides copiados começando no slide 5.

Sub InsertFromOtherPres()

' This short VBA macro copies slides from one presentation and inserts them into another

ActivePresentation.Slides.InsertFromFile FileName:="source.pptm", Index:=1, SlideStart:=2, 
SlideEnd:=4

End Sub

Obviamente, sinta-se à vontade para alterar a indexação do número do slide no código para que eles se ajustem aos seus requisitos.

Você pode fazê-lo percorrer várias apresentações e inserir slides específicos de cada um em seu relatório de gerenciamento.

PowerPoint VBA para duplicar slides

Em vez de copiar slides para outra apresentação, você pode clonar um ou mais slides em sua apresentação:

Sub CopySlides()

' Short snippet to duplicate the third slide in a presentation, change the index/es accrodingly

ActivePresentation.Slides(3).Duplicate

End Sub

Esses foram apenas alguns exemplos simples de automação do PowerPoint. Leitores que procuram perguntas específicas, sintam-se à vontade para enviar uma pergunta através da página de contato.

Espero que ajude 🙂

Preservar a formatação ao copiar slides

O problema com o exemplo anterior foi que a formatação do tema das apresentações originais não foi copiada. Suponha que as 2 planilhas tivessem formatação diferente, isso é o que teria acontecido:

Exemplo 1

 

Sub main()

Dim objPresentation As Presentation

Dim i As Integer

'open the target presentation

Set objPresentation = Presentations.Open("C:\2.pptx")

For i = 1 To objPresentation.Slides.Count

    objPresentation.Slides.Item(i).Copy

    Presentations.Item(1).Slides.Paste

Next i

objPresentation.Close

End Sub

Antes de executar o código
Esta é a apresentação com o slide que queremos copiar: Resultado: Para contornar esse problema você poderia usar o código abaixo:
Slides a serem copiados

Resultado

 

Sub Example2()

Dim objPresentation As Presentation

Dim i As Integer

'open the target presentation

Set objPresentation = Presentations.Open("C:\2.pptx")

For i = 1 To objPresentation.Slides.Count

    objPresentation.Slides.Item(i).Copy

    Presentations.Item(1).Slides.Paste

    Presentations.Item(1).Slides.Item(Presentations.Item(1).Slides.Count).Design = _

        objPresentation.Slides.Item(i).Design

Next i

objPresentation.Close

End Sub

Além de copiar o slide, o código acima copia o design. Se você quisesse fazer isso manualmente, copiaria o slidemaster para a nova apresentação. Você não pode copiar o slidemaster usando VBA, mas pode definir a propriedade de design dos slides.

Deixar um comentário

Como criar um sistema simples de rastreamento de leads no Excel antes de comprar um CRM

Como criar um sistema simples de rastreamento de leads no Excel antes de comprar um CRM

Antes de investir em um software de CRM, crie uma planilha de acompanhamento de leads prática no Excel com tabelas, listas suspensas, datas de acompanhamento, filtros, formatação condicional e um painel de controle simples com tabela dinâmica.

Planilha de Presença Simples e Imprimível para Creche Domiciliar: O Que Registrar e Por Quê

Planilha de Presença Simples e Imprimível para Creche Domiciliar: O Que Registrar e Por Quê

Utilize esta folha de presença simples e imprimível para creche domiciliar para registrar chegadas, saídas, ausências, assinaturas e documentos necessários.

Planilha de contagem de estoque simples para Excel: um layout pronto para o varejo que permite conciliações rápidas.

Planilha de contagem de estoque simples para Excel: um layout pronto para o varejo que permite conciliações rápidas.

Crie uma planilha simples de contagem de estoque em Excel para lojas de varejo com controles de SKU, localização, quantidade contada, variação, recontagem e impressão.

Modelo de estratégia de marketing de uma página para empresas locais (imprimível)

Modelo de estratégia de marketing de uma página para empresas locais (imprimível)

Utilize este modelo de estratégia de marketing de uma página, pronto para impressão, para escolher um público-alvo local, oferta, combinação de canais, orçamento, ações e metas mensuráveis.

Modelo gratuito de planilha Excel para escala de trabalho de funcionários com calculadora automática de horas.

Modelo gratuito de planilha Excel para escala de trabalho de funcionários com calculadora automática de horas.

Crie uma escala de trabalho gratuita para seus funcionários no Excel, com horários de início e término, descontos de intervalos, gestão de turnos noturnos, totais semanais e uma calculadora de horas simples.

Melhores aplicativos gratuitos de faturamento para pequenas empresas de serviços nos EUA (2026)

Melhores aplicativos gratuitos de faturamento para pequenas empresas de serviços nos EUA (2026)

Compare os melhores aplicativos gratuitos de faturamento para empresas de serviços nos EUA em 2026, incluindo Zoho Invoice, Square, Wave, PayPal e Invoice Ninja.

Planilha simples de controle de folha de pagamento quinzenal em Excel para pequenas equipes: configuração ideal para iniciantes

Planilha simples de controle de folha de pagamento quinzenal em Excel para pequenas equipes: configuração ideal para iniciantes

Crie uma planilha simples de controle de folha de pagamento quinzenal no Excel para uma pequena equipe, com abas claras, fórmulas, verificações e limites práticos para uma conciliação segura da folha de pagamento.

Como exportar contatos do Salesforce para um formato Excel limpo

Como exportar contatos do Salesforce para um formato Excel limpo

Aprenda como exportar contatos do Salesforce para um arquivo Excel limpo, preservando IDs e campos de texto, removendo duplicados com segurança e evitando erros comuns em arquivos CSV.

Modelo de orçamento de obras de construção imprimível em Excel para pequenos empreiteiros

Modelo de orçamento de obras de construção imprimível em Excel para pequenos empreiteiros

Crie um orçamento de construção imprimível no Excel com categorias de custos práticas, fórmulas, campos de margem de lucro, configurações de impressão e uma lista de verificação pronta para o empreiteiro.

Checklist de Planejamento de Eventos e Modelo de Orçamento para Word

Checklist de Planejamento de Eventos e Modelo de Orçamento para Word

Use este checklist de planejamento de eventos e modelo de orçamento imprimível no Word para rastrear responsáveis, prazos, custos, fornecedores e a prontidão do dia do evento com verificações de qualidade claras.