Verwenden der Automatisierung zum Erstellen und Anzeigen einer PowerPoint-Präsentation mithilfe von Visual Basic .NET 2002 oder Visual Basic .NET 2003

Zusammenfassung

In diesem Artikel wird beschrieben, wie Sie mithilfe der Automatisierung eine Microsoft PowerPoint-Präsentation mithilfe von Microsoft Visual Basic .NET 2002 oder Visual Basic .NET 2003 erstellen und anzeigen.

Weitere Informationen

Erstellen eines Automatisierungsclients für Microsoft PowerPoint

  1. Starten Sie Microsoft Visual Studio .NET 2002 oder Visual Studio .NET 2003. Klicken Sie im Menü "Datei" auf "Neu" und dann auf "Projekt". Wählen Sie die Windows-Anwendung aus den Visual Basic-Projekttypen aus. Form1 wird standardmäßig erstellt.

  2. Fügen Sie einen Verweis auf die Microsoft PowerPoint-Objektbibliothek und die Microsoft Graph-Objektbibliothek hinzu. Gehen Sie dazu wie folgt vor:

    1. On the Project menu, click Add Reference.
    2. Suchen Sie auf der Registerkarte COM die Microsoft PowerPoint-Objektbibliothek, und klicken Sie dann auf "Auswählen". Suchen Sie auch die Microsoft Graph-Objektbibliothek, und klicken Sie dann auf "Auswählen".

    Hinweis Microsoft Office 2003 und höhere Versionen von Microsoft Office enthalten primäre Interopassemblys (PRIMARY Interop Assemblies, PIAs). Microsoft Office XP enthält keine PIAs, sie können jedoch heruntergeladen werden.

  3. Klicken Sie im Dialogfeld "Verweise hinzufügen" auf "OK", um Ihre Auswahl zu übernehmen.

  4. Wählen Sie im Menü "Ansicht " die Toolbox aus, um die Toolbox anzuzeigen, und fügen Sie formular1 eine Schaltfläche hinzu.

  5. Doppelklicken Sie auf Schaltfläche1. Das Codefenster für das Formular wird angezeigt.

  6. Suchen Sie im Codefenster den folgenden Code

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

    Ersetzen Sie durch den folgenden Code:

        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
    
    

    Hinweis In diesem Code stellen die sTemplate- und sPic-Konstanten den vollständigen Pfad und Dateinamen zu einer PowerPoint-Vorlage bzw. einem Bild dar. Ändern Sie diese Pfade nach Bedarf, um eine Vorlage oder ein Bild zu verwenden, die auf Ihrem System installiert ist.

  7. Fügen Sie oben in Form1.vb den folgenden Code hinzu:

    Imports Office = Microsoft.Office.Core
    Imports Graph = Microsoft.Office.Interop.Graph
    Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
    
  8. Drücken Sie F5, um das Programm zu erstellen und auszuführen.

  9. Klicken Sie im Formular auf "Schaltfläche1", um eine PowerPoint-Präsentation zu erstellen und anzuzeigen.

References

Weitere Informationen finden Sie auf der folgenden Microsoft Developer Network (MSDN)-Website: Visual Studio-Tools für die Microsoft Office System 2003-Schulung