Så här använder du automatisering för att skapa och visa en PowerPoint-presentation med hjälp av Visual Basic .NET 2002 eller Visual Basic .NET 2003

Sammanfattning

Den här artikeln beskriver hur du använder automatisering för att skapa och visa en Microsoft PowerPoint-presentation med hjälp av Microsoft Visual Basic .NET 2002 eller Visual Basic .NET 2003.

Mer information

Skapa en automationsklient för Microsoft PowerPoint

  1. Starta Microsoft Visual Studio .NET 2002 eller Visual Studio .NET 2003. På Arkiv-menyn klickar du på Ny och sedan på Projekt. Välj Windows-program från typerna Visual Basic Projects. Form1 skapas som standard.

  2. Lägg till en referens till Microsoft PowerPoint-objektbiblioteket och Microsoft Graph-objektbiblioteket. Gör så här:

    1. Klicka på Lägg till referensProjekt-menyn.
    2. På fliken COM letar du upp Microsoft PowerPoint-objektbiblioteket och klickar sedan på Välj. Leta också upp Microsoft Graph-objektbiblioteket och klicka sedan på Välj.

    Observera Microsoft Office 2003 och senare versioner av Microsoft Office innehåller pias (Primary Interop Assemblies). Microsoft Office XP innehåller inte PIA:er, men de kan laddas ned.

  3. Klicka på OK i dialogrutan Lägg till referenser för att acceptera dina val.

  4. På menyn Visa väljer du Verktygslåda för att visa verktygslådan och lägger till en knapp i Formulär1.

  5. Dubbelklicka på Knapp1. Kodfönstret för formuläret visas.

  6. Leta upp följande kod i kodfönstret

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

    Ersätt med följande kod:

        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
    
    

    Observera I den här koden representerar konstanterna sTemplate och sPic den fullständiga sökvägen och filnamnet till en PowerPoint-mall respektive en bild. Ändra dessa sökvägar efter behov för att använda en mall eller bild som är installerad i systemet.

  7. Lägg till följande kod överst i Form1.vb:

    Imports Office = Microsoft.Office.Core
    Imports Graph = Microsoft.Office.Interop.Graph
    Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
    
  8. Tryck på F5 för att skapa och kör sedan programmet.

  9. Klicka på Knapp1 i formuläret för att skapa och visa sedan en PowerPoint-presentation.

Referenser

Mer information finns på följande webbplats för Microsoft Developer Network (MSDN): Visual Studio Tools for the Microsoft Office System 2003 Training