VBA PowerPoint - Tutorial VBA para criar apresentação em PowerPoint

Excel VBA PowerPoint

Usando o VBA, podemos automatizar o trabalho que fazemos para o PowerPoint, mas primeiro, a fim de usar o código VBA ou fragmentos para trabalhar no PowerPoint, primeiro trabalhe com as opções de segurança no PowerPoint para habilitar todas as macros e então podemos usar a referência VBA do PowerPoint para macros no MS Power Point.

A beleza do VBA é que podemos fazer referência a outros produtos da Microsoft, como “Microsoft Word” e “Microsoft PowerPoint”. Normalmente criamos relatórios no Excel e, em seguida, criamos apresentações em PowerPoint. Todos os usuários do Excel geralmente gastam uma quantidade considerável de tempo para preparar a apresentação a partir de dados e relatórios do Excel. Se você está gastando uma quantidade considerável de tempo preparando apresentações em PowerPoint, este tutorial mostrará como criar uma apresentação em PowerPoint a partir do próprio Excel usando a codificação VBA.

Habilitar modelo de objeto do PowerPoint

Etapa 1: Abra o Editor VBA e vá para Ferramentas e Referências.

Etapa 2: Agora, você verá todas as referências ao Projeto VBA. Role para baixo e selecione “Biblioteca de objetos do Microsoft PowerPoint 15.0”.

Etapa 3: Clique em OK. Agora podemos acessar o PowerPoint do Excel.

Tutorial VBA para criar uma apresentação em PowerPoint

Podemos criar PPT de duas maneiras, uma usando “Early Binding” e outra usando “Late Binding”. Mostraremos como criar uma apresentação do PowerPoint usando a técnica de “Early Binding” .

Normalmente, a partir do excel, preparamos apresentações com base em gráficos e interpretação dos gráficos. Portanto, para esse propósito, criei alguns gráficos e interpretações simples do Excel na mesma planilha.

Etapa 1: Iniciar a sub-rotina em VBA. Agora, para acessar o PowerPoint, já habilitamos o modelo de objeto do PowerPoint nas etapas anteriores. Para acessar isso, precisamos declarar a variável como PowerPoint.Application.

Código:

Sub PPT_Example () Dim PPApp As PowerPoint.Application End Sub

Passo 2: Para adicionar a apresentação ao PowerPoint, precisamos declarar uma variável como PowerPoint.Presentation.

Código:

 Dim PPPresentation As PowerPoint.Presentation

Passo 3: Depois de adicionar a apresentação ao PowerPoint, precisamos adicionar o Slide. Para declarar a variável como PowerPoint.Slide

Código:

Dim PPSlide As PowerPoint.Slide

Passo 4: Uma vez que o slide é adicionado ao PowerPoint, precisamos fazer uso de formas no PowerPoint, ou seja, caixas de texto. Para declarar uma variável como PowerPoint.Shape

Código:

Dim PPShape As PowerPoint.Shape

Passo 5: Agora, para acessar todos os gráficos da planilha, precisamos declarar a variável como Excel.ChartObjects.

Código:

Dim PPCharts As Excel.ChartObject

Ok, para começar o procedimento, essas variáveis ​​são suficientes.

Etapa 6: Agora, precisamos iniciar o PowerPoint a partir do Excel. Por ser um objeto externo, precisamos defini-lo como um novo PowerPoint.

Código:

Definir PPApp = Novo PowerPoint.Application

Isso iniciará o novo PowerPoint do excel.

Passo 7: Agora, a variável PPApp é igual ao PowerPoint que iniciamos. Agora torne este PowerPoint visível e maximize a janela.

Código:

PPApp.Visible = msoCTrue PPApp.WindowState = ppWindowMaximized

Neste momento, basta executar o código usando a tecla F5 ou manualmente. Você deverá ver o aplicativo PowerPoint iniciado como o mostrado abaixo.

Etapa 8: Agora, precisamos adicionar uma apresentação ao aplicativo PowerPoint que lançamos.

Código:

Defina PPPresentation = PPApp.Presentations.Add

Agora devemos ver a apresentação do PowerPoint assim.

Etapa 9: Após adicionar a apresentação, precisamos adicionar um slide.

Código:

Defina PPSlide = PPPresentation.Slides.Add (1, ppLayoutTitleOnly)

Agora, isso adicionará o slide de título como o abaixo.

Etapa 10: Agora que temos mais de um gráfico na planilha, precisamos percorrer cada gráfico e colar na apresentação. Abaixo está o código para copiar e colar o gráfico, bem como a interpretação.

Abaixo está o código completo para você.

Sub PPT_Example () Dim PPApp As PowerPoint.Application Dim PPPresentation As PowerPoint.Presentation Dim PPSlide As PowerPoint.Slide Dim PPShape As PowerPoint.Shape Dim PPCharts As Excel.ChartObject Set PPApp = Novo PowerPoint.Application PPApp.Visible = msoCTrue PPApp = msoCTrue PPApp. ppWindowMaximized 'Add Presentation Set PPPresentation = PPApp.Presentations.Add' Loop através de cada gráfico no Excel e cole no PowerPoint para cada PPCharts em ActiveSheet.ChartObjects PPApp.ActivePresentation.Slides.Add PPApp.ActivePresentation.Slides.Countout + 1, pp PPApp.ActiveWindow.View.GotoSlide PPApp.ActivePresentation.Slides.Count Set PPSlide = PPApp.ActivePresentation.Slides (PPApp.ActivePresentation.Slides.Count) 'Copie o gráfico e cole em Powerpoint PPChartAreacopy.Select ActiveChart.ChartAreacopy.Select ActiveChart.ChartAreacopy.Select ActiveChart. .PasteSpecial (DataType:= ppPasteMetafilePicture) .Select 'Adicionar cabeçalho ao slide PPSlide.Shapes (1) .TextFrame.TextRange.Text = PPCharts.Chart.ChartTitle.Text' Alinhamento do gráfico PPApp.ActiveWindow.Selection.ShapeRange.Left = 15 PPApp .Selection.ShapeRange.Top = 125 PPSlide.Shapes (2) .Width = 200 PPSlide.Shapes (2) .Left = 505 'Adicionar interpretação If InStr (PPSlide.Shapes (1) .TextFrame.TextRange.Text, "Region" ) Então, PPSlide.Shapes (2) .TextFrame.TextRange.Text = Range ("K2"). Value & vbNewLine PPSlide.Shapes (2) .TextFrame.TextRange.InsertAfter (Range ("K3"). Value & vbNewLine) ' Caso contrário, se o gráfico for o gráfico de consumo "Renovável", insira os comentários apropriados ElseIf InStr (PPSlide.Shapes (1) .TextFrame.TextRange.Text, "Mês") Então PPSlide.Shapes (2) .TextFrame.TextRange.Text = Intervalo ("K20 "). Value & vbNewLine PPSlide.Shapes (2) .TextFrame.TextRange.InsertAfter (Range (" K21 "). Value & vbNewLine) PPSlide.Shapes (2) .TextFrame.TextRange.InsertAfter (Range (" K22 ") .Value & vbNewLine) End If 'Agora vamos alterar o tamanho da fonte da caixa de texto explicativo PPSlide.Shapes (2) .TextFrame.TextRange.Font.Size = 16 Next PPCharts End Sub

Artigos interessantes...