Como utilizar a automatização para criar e mostrar uma apresentação do PowerPoint com o Visual Basic .NET 2002 ou o Visual Basic .NET 2003

Resumo

Este artigo descreve como utilizar a automatização para criar e mostrar uma apresentação do Microsoft PowerPoint com o Microsoft Visual Basic .NET 2002 ou o Visual Basic .NET 2003.

Mais Informações

Criar um cliente de automatização para o Microsoft PowerPoint

  1. Inicie o Microsoft Visual Studio .NET 2002 ou o Visual Studio .NET 2003. No menu Ficheiro, clique em Novo e, em seguida, clique em Projeto. Selecione Aplicação do Windows nos tipos de Projetos do Visual Basic. O formulário1 é criado por predefinição.

  2. Adicione uma referência à Biblioteca de Objetos do Microsoft PowerPoint e à Biblioteca de Objetos do Microsoft Graph. Para tal, siga estes passos:

    1. No menu Projeto , clique em Adicionar Referência.
    2. No separador COM , localize a Biblioteca de Objetos do Microsoft PowerPoint e, em seguida, clique em Selecionar. Localize também a Biblioteca de Objetos do Microsoft Graph e, em seguida, clique em Selecionar.

    Nota O Microsoft Office 2003 e versões posteriores do Microsoft Office incluem Assemblagens Interop Principais (PIAs). O Microsoft Office XP não inclui PIAs, mas estes poderão ser transferidos.

  3. Clique em OK na caixa de diálogo Adicionar Referências para aceitar as suas seleções.

  4. No menu Ver , selecione Caixa de Ferramentas para apresentar a Caixa de Ferramentas e adicionar um botão ao Formulário1.

  5. Faça duplo clique em Botão1. A janela de código do formulário é exibida.

  6. Na janela do código, localize o seguinte código

        Private Sub Button1_Click(ByVal sender As System.Object, _
            ByVal e As System.EventArgs) Handles Button1.Click
    
    End Sub
    
    

    Substituir pelo seguinte código:

        Private Sub Button1_Click(ByVal sender As System.Object, _
            ByVal e As System.EventArgs) Handles Button1.Click
    
    Const sTemplate = _
               "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Blends.pot"
            Const sPic = "C:\WINNT\Soap Bubbles.bmp"
    
    Dim oApp As PowerPoint.Application
            Dim oPres As PowerPoint.Presentation
            Dim oSlide As PowerPoint.Slide
            Dim bAssistantOn As Boolean
    
    'Start Powerpoint and make its window visible but minimized.
            oApp = New PowerPoint.Application()
            oApp.Visible = True
            oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized
    
    'Create a new presentation based on the specified template.
            oPres = oApp.Presentations.Open(sTemplate, , , True)
    
    'Build Slide #1:
            'Add text to the slide, change the font and insert/position a 
            'picture on the first slide.
            oSlide = oPres.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
            With oSlide.Shapes.Item(1).TextFrame.TextRange
                .Text = "My Sample Presentation"
                .Font.Name = "Comic Sans MS"
                .Font.Size = 48
            End With
            oSlide.Shapes.AddPicture(sPic, False, True, 150, 150, 500, 350)
            oSlide = Nothing
    
    'Build Slide #2:
            'Add text to the slide title, format the text. Also add a chart to the
            'slide and change the chart type to a 3D pie chart.
            oSlide = oPres.Slides.Add(2, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
            With oSlide.Shapes.Item(1).TextFrame.TextRange
                .Text = "My Chart"
                .Font.Name = "Comic Sans MS"
                .Font.Size = 48
            End With
            Dim oChart As Graph.Chart
            oChart = oSlide.Shapes.AddOLEObject(150, 150, 480, 320, _
                        "MSGraph.Chart.8").OLEFormat.Object
            oChart.ChartType = Graph.XlChartType.xl3DPie
            oChart = Nothing
            oSlide = Nothing
    
    'Build Slide #3:
            'Add a text effect to the slide and apply shadows to the text effect.
            oSlide = oPres.Slides.Add(3, PowerPoint.PpSlideLayout.ppLayoutBlank)
            oSlide.FollowMasterBackground = False
            Dim oShape As PowerPoint.Shape
            oShape = oSlide.Shapes.AddTextEffect(Office.MsoPresetTextEffect.msoTextEffect27, _
                "The End", "Impact", 96, False, False, 230, 200)
            oShape.Shadow.ForeColor.SchemeColor = PowerPoint.PpColorSchemeIndex.ppForeground
            oShape.Shadow.Visible = True
            oShape.Shadow.OffsetX = 3
            oShape.Shadow.OffsetY = 3
            oShape = Nothing
            oSlide = Nothing
    
    'Modify the slide show transition settings for all 3 slides in
            'the presentation.
            Dim SlideIdx(3) As Integer
            SlideIdx(0) = 1
            SlideIdx(1) = 2
            SlideIdx(2) = 3
            With oPres.Slides.Range(SlideIdx).SlideShowTransition
                .AdvanceOnTime = True
                .AdvanceTime = 3
                .EntryEffect = PowerPoint.PpEntryEffect.ppEffectBoxOut
            End With
            Dim oSettings As PowerPoint.SlideShowSettings
            oSettings = oPres.SlideShowSettings
            oSettings.StartingSlide = 1
            oSettings.EndingSlide = 3
    
    'Prevent Office Assistant from displaying alert messages.
            bAssistantOn = oApp.Assistant.On
            oApp.Assistant.On = False
    
    'Run the slide show and wait for the slide show to end.
            oSettings.Run()
            Do While oApp.SlideShowWindows.Count >= 1
                System.Windows.Forms.Application.DoEvents()
            Loop
            oSettings = Nothing
    
    'Reenable Office Assisant, if it was on.
            If bAssistantOn Then
                oApp.Assistant.On = True
                oApp.Assistant.Visible = False
            End If
    
    'Close the presentation without saving changes and quit PowerPoint.
            oPres.Saved = True
            oPres.Close()
            oPres = Nothing
            oApp.Quit()
            oApp = Nothing
            GC.Collect()
        End Sub
    
    

    Nota Neste código, as constantes sTemplate e sPic representam o caminho completo e o nome de ficheiro a um modelo do PowerPoint e a uma imagem, respetivamente. Modifique estes caminhos conforme necessário para utilizar um modelo ou imagem instalado no seu sistema.

  7. Adicione o seguinte código à parte superior de Formulário1.vb:

    Imports Office = Microsoft.Office.Core
    Imports Graph = Microsoft.Office.Interop.Graph
    Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
    
  8. Prima F5 para criar e, em seguida, execute o programa.

  9. Clique em Botão1 no formulário para criar e, em seguida, mostre uma apresentação do PowerPoint.

Referências

Para obter mais informações, consulte o seguinte site do Microsoft Developer Network (MSDN): Visual Studio Tools para a Formação do Microsoft Office System 2003