Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
Quando se trata de criar e executar apresentações no ambiente Windows, o Microsoft PowerPoint é uma ferramenta essencial. Além de criar apresentações de forma manual, você também pode automatizar a criação e execução de apresentações utilizando scripts em PowerShell. Isso pode ser especialmente útil para tarefas repetitivas ou para integração em fluxos de trabalho automatizados.
Neste artigo, vamos explorar como criar e executar uma apresentação no Windows utilizando o Microsoft PowerPoint e o PowerShell. Vamos abordar desde a criação de slides até a execução automática da apresentação.
Primeiro, vamos ver como criar uma apresentação simples utilizando PowerShell. O script abaixo cria uma apresentação com dois slides e salva o arquivo no diretório especificado.
# Define o caminho onde a apresentação será salva
$presentationPath = "C:\Users\Public\Documents\MinhaApresentacao.pptx"
# Cria uma nova instância do PowerPoint
$powerpoint = New-Object -ComObject PowerPoint.Application
$powerpoint.Visible = [Microsoft.Office.Core.MsoTriState]::msoTrue
# Adiciona uma nova apresentação
$presentation = $powerpoint.Presentations.Add()
# Adiciona o primeiro slide
$slide1 = $presentation.Slides.Add(1, [Microsoft.Office.Interop.PowerPoint.PpSlideLayout]::ppLayoutText)
$slide1.Shapes.Title.TextFrame.TextRange.Text = "Título do Slide 1"
$slide1.Shapes.Placeholders.Item(2).TextFrame.TextRange.Text = "Conteúdo do Slide 1"
# Adiciona o segundo slide
$slide2 = $presentation.Slides.Add(2, [Microsoft.Office.Interop.PowerPoint.PpSlideLayout]::ppLayoutText)
$slide2.Shapes.Title.TextFrame.TextRange.Text = "Título do Slide 2"
$slide2.Shapes.Placeholders.Item(2).TextFrame.TextRange.Text = "Conteúdo do Slide 2"
# Salva a apresentação
$presentation.SaveAs($presentationPath)
# Fecha o PowerPoint
$presentation.Close()
$powerpoint.Quit()
# Libera os objetos COM
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($slide1) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($slide2) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($presentation) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($powerpoint) | Out-Null
# Força a coleta de lixo para liberar a memória
[GC]::Collect()
[GC]::WaitForPendingFinalizers()
Agora que temos uma apresentação criada, podemos automatizar sua execução. O script abaixo abre a apresentação e a executa em modo de apresentação de slides.
# Define o caminho da apresentação
$presentationPath = "C:\Users\Public\Documents\MinhaApresentacao.pptx"
# Cria uma nova instância do PowerPoint
$powerpoint = New-Object -ComObject PowerPoint.Application
$powerpoint.Visible = [Microsoft.Office.Core.MsoTriState]::msoTrue
# Abre a apresentação
$presentation = $powerpoint.Presentations.Open($presentationPath)
# Inicia a apresentação de slides
$presentation.SlideShowSettings.Run()
# Aguarda a conclusão da apresentação
while ($powerpoint.SlideShowWindows.Count -gt 0) {
Start-Sleep -Seconds 1
}
# Fecha o PowerPoint
$presentation.Close()
$powerpoint.Quit()
# Libera os objetos COM
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($presentation) | Out-Null
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($powerpoint) | Out-Null
# Força a coleta de lixo para liberar a memória
[GC]::Collect()
[GC]::WaitForPendingFinalizers()
Automatizar a criação e execução de apresentações no Windows utilizando PowerShell pode economizar tempo e esforço, especialmente em ambientes corporativos onde tarefas repetitivas são comuns. Com os exemplos fornecidos, você pode começar a explorar as possibilidades de automação com PowerShell e PowerPoint.