Come usare l'automazione per creare e visualizzare una presentazione di PowerPoint usando Visual Basic .NET 2002 o Visual Basic .NET 2003

Riepilogo

Questo articolo descrive come usare l'automazione per creare e visualizzare una presentazione di Microsoft PowerPoint usando Microsoft Visual Basic .NET 2002 o Visual Basic .NET 2003.

Ulteriori informazioni

Creare un client di automazione per Microsoft PowerPoint

  1. Avviare Microsoft Visual Studio .NET 2002 o Visual Studio .NET 2003. Scegliere Nuovo dal menu File e quindi fare clic su Progetto. Selezionare Applicazione Windows dai tipi di progetti di Visual Basic. Form1 viene creato per impostazione predefinita.

  2. Aggiungere un riferimento alla libreria di oggetti di Microsoft PowerPoint e alla libreria di oggetti di Microsoft Graph. A tal fine, attenersi alla seguente procedura:

    1. Scegliere Aggiungi riferimento dal menu Progetto.
    2. Nella scheda COM individuare la raccolta oggetti di Microsoft PowerPoint e quindi fare clic su Seleziona. Individuare anche La libreria di oggetti di Microsoft Graph e quindi fare clic su Seleziona.

    Nota Microsoft Office 2003 e versioni successive di Microsoft Office include assembly di interoperabilità primari (PIA). Microsoft Office XP non include le FUNZIONALITÀ personali, ma può essere scaricato.

  3. Fare clic su OK nella finestra di dialogo Aggiungi riferimenti per accettare le selezioni.

  4. Nel menu Visualizza selezionare Casella degli strumenti per visualizzare la casella degli strumenti e aggiungere un pulsante a Form1.

  5. Fare doppio clic su Button1. Viene visualizzata la finestra del codice per il modulo.

  6. Nella finestra del codice individuare il codice seguente

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

    Sostituire con il codice seguente:

        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 In questo codice le costanti sTemplate e sPic rappresentano rispettivamente il percorso completo e il nome file di un modello di PowerPoint e di un'immagine. Modificare questi percorsi in base alle esigenze per usare un modello o un'immagine installata nel sistema.

  7. Aggiungere il codice seguente all'inizio di Form1.vb:

    Imports Office = Microsoft.Office.Core
    Imports Graph = Microsoft.Office.Interop.Graph
    Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
    
  8. Premere F5 per compilare ed eseguire il programma.

  9. Fare clic su Button1 nel modulo per creare e quindi visualizzare una presentazione di PowerPoint.

Riferimenti

Per altre informazioni, vedere il seguente sito Web Microsoft Developer Network (MSDN): Strumenti di Visual Studio per il training di Microsoft Office System 2003