PowerPoint VBA - Criar apresentação do PowerPoint a partir do Excel usando o VBA

Índice:

Anonim

Tutorial do PowerPoint VBA do Excel

O VBA é uma ferramenta poderosa que pode ser usada em qualquer área das ferramentas integradas da Microsoft. Como o MS Excel, o Powerpoint também possui uma disposição para criar uma macro e automatizar a apresentação. A automação pode ser de qualquer forma. Você viu apresentações em que os slides são tão grandes e detalhados, que às vezes acabam tendo mais de 50 slides apenas para cobrir um tópico de treinamento ou um relatório. Portanto, em vez de adicionar os gráficos no PowerPoint a partir do Excel, podemos criar um código que copie diretamente os gráficos do Excel e cole-o no slide do PowerPoint.

Como criar uma apresentação do PowerPoint a partir do Excel VBA?

Abaixo está o exemplo para criar uma apresentação do powerpoint usando o código VBA no Excel:

Você pode baixar este modelo do Excel do VBA PowerPoint aqui - Modelo do Excel do VBA PowerPoint

Exemplo de PowerPoint VBA

Vamos criar um gráfico primeiro no Excel. Para isso, precisamos de dados. Abaixo temos alguns dados de vendas de 8 vendedores.

Agora vamos criar um gráfico ou gráfico de colunas com a ajuda dos dados acima. Veremos abaixo, agora temos um gráfico de colunas com o título Quantidade vendida e todos os rótulos inseridos.

Agora, nossa tarefa é obter esse gráfico no slide do PowerPoint, conforme mostrado aqui, com o título do gráfico como o título do slide do PowerPoint. Para isso, precisamos ativar o PowerPoint no VBA.

Siga os passos abaixo:

Etapa 1: Vá ao menu Ferramenta VBA, como mostrado abaixo, e selecione a opção Referências…, como mostrado abaixo.

Etapa 2: Assim que fizermos isso, obteremos as janelas do Projeto VBA de Referências. A partir dessa lista, selecione MS PowerPoint 15.0 Object Library como mostrado abaixo. Isso ativará todos os comandos relacionados ao MS PowerPoint no VBA. Sem isso, não podemos executar o VBA no PowerPoint. Marque a caixa da Biblioteca mencionada e clique em Ok .

Etapa 3: Agora, para escrever o código do VBA PowerPoint, precisamos de um módulo. Para obter um novo módulo, vá ao menu Inserir e selecione uma opção de módulo, como mostrado abaixo.

Etapa 4: nesse módulo, escreva a subcategoria do VBA PowerPoint ou qualquer outro nome, conforme sua necessidade, conforme mostrado abaixo.

Código:

 Sub VBA_Presentation () End Sub 

Etapa 5: Agora, para criar uma apresentação com a ajuda do Chart no Excel, precisamos de poucas variáveis. Vamos considerar 5 variáveis ​​como:

  1. Aplicativo para aplicativo PowerPoint.
  2. PPT para apresentação em PowerPoint,
  3. PPTSlide for PowerPoint Slide,
  4. PPTShapes para PowerPoints,
  5. PPTCharts for Excel Chart Object.

Código:

 Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject End Sub 

Etapa 6: Agora use o comando Set para adicionar novo aplicativo do PowerPoint, como mostrado abaixo.

Código:

 Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = New PowerPoint.Application End Sub 

Etapa 7: em uma linha de código, torne o Aplicativo do PowerPoint visível e use o msoCTrue para avaliar misteriosamente a maneira incorreta. E depois disso, o mesmo aplicativo será usado como Maximizado no PowerPoint para obter a visualização completa.

Código:

 Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized End Sub 

Etapa 8: agora defina o PPT que é a nossa apresentação para adicionar no aplicativo MS PowerPoint,

Código:

 Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add End Sub 

Etapa 9: Agora, usaremos uma combinação do loop For-Next e If-Else. Começando com o loop For-Next.

Código:

 Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add For Next End Sub 

Etapa 10: No loop For do PPTCharts, os primeiros gráficos ativos no Excel.

Código:

 Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add para cada PPTCharts em ActiveSheet.ChartObjects Próximo PPTCharts End Sub 

Etapa 11: abaixo está o código para colar o gráfico do Excel para o slide do PowerPoint. Use o código para adicionar um slide ao PAplication definido, adicionando um slide a cada vez que executarmos o código.

Código:

 Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add para cada PPTCharts em ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText Próximo PPTCharts End Sub 

Etapa 12: Agora, na continuação da próxima linha de código, use o conjunto de códigos abaixo para definir uma visualização ativa da janela. Isso será usado para deslizar após o gráfico ser colado na apresentação do PowerPoint.

Código:

 Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add para cada PPTCharts em ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAplication.Aplicive.Aplicativo. = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) Próximo PPTCharts End Sub 

Etapa 13: Depois de concluído, selecione a variável PPTChart que definimos anteriormente. Depois disso, copie o gráfico ativo selecionado na área do gráfico onde será colocado. E use o comando Colar Especial para colar o gráfico com imagens.

Código:

 Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add para cada PPTCharts em ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAplication.Aplicive.Aplicativo. = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Selecione próximo PPTCharts End Sub 

Etapa 14: agora selecione a forma do gráfico que está na primeira posição como intervalo de texto. E carregue o mesmo título que é " Quantidade vendida " na apresentação do PowerPoint.

Código:

 Sub VBA_Presentation () Dim PAplication como PowerPoint.Application Dim PPT como PowerPoint.Presentation Dim PPTSlide como PowerPoint.Slide Dim PPTShapes como PowerPoint.Shape Dim PPTCharts como Excel.ChartObject Set PAplication = Novo PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState ppWindowMaximized Set PPT = PAplication.Presentations.Add para cada PPTCharts em ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAplication.Aplicive.Aplicativo. = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Selecione PPTSlide.Shapes (1) .extext .Chart.ChartTitle.Text Próximo PPTCharts End Sub 

Isso completa o código para o VBA PowerPoint.

Etapa 15: Agora compile o código passo a passo para saber se alguma linha de código possui um erro pressionando a tecla de função F8. E depois execute o código clicando no botão Play, que fica abaixo da barra de menus, como mostrado abaixo.

Obteremos o gráfico publicado no arquivo do PowerPoint no primeiro slide, como mostrado abaixo.

Como o código é grande, o código completo pode ser visto na caixa de texto abaixo.

Profissionais do Excel VBA PowerPoint

  • O uso do VBA no Powerpoint facilita o manuseio se um arquivo ppt tiver tantos slides com grande conteúdo.
  • O 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 de menu Ferramenta, necessária no início do exemplo-1, sempre que executarmos o código para o PowerPoint.

Coisas para lembrar

  • Salve o arquivo no formato de habilitação de macro após escrever o código. Isso nos ajudará a evitar a perda do código e o uso múltiplo 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 executar. 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 do Excel com o Gráfico que queremos colá-la no slide do PowerPoint.
  • Podemos alinhar o gráfico no PowerPoint conforme nossas necessidades.

Artigos recomendados

Este é um guia para o VBA PowerPoint. Aqui discutimos como criar uma apresentação do PowerPoint a partir do Excel usando o código VBA, juntamente com um exemplo prático e um modelo em Excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Coluna de exclusão do VBA
  2. Barra de status no Excel
  3. VBA Remover Duplicatas
  4. Criar planilha no Excel