Wie Behandeln von PowerPoint-Ereignissen, indem Visual Basic .NET 2003 verwendet

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 824021 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

EINFÜHRUNG

Dieser Artikel beschreibt, wie Microsoft Office PowerPoint-Ereignisse von Automatisierungsclient behandelt werden, die entwickelt wird, indem Microsoft Visual Basic .NET 2003 verwendet.

Erstellen Sie ein Ereignishandler

Zu dem Zusammenstellen eines Ereignishandler, indem Sie Visual Basic .NET verwenden, können Sie eine der folgenden Methoden verwenden. Wie Sie einem Ereignis das Ereignishandler von zuordnen möchten, hängt die Methode ab, die Sie wählen.
  • Methode

    Normalerweise erstellen Sie ein Ereignishandler, indem Sie das Handles Schlüsselwort mit dem Schlüsselwort WithEvents verwenden. Wenn Sie eine Objekt-Verweis-Variable mit Hilfe des WithEvents Schlüsselworts deklarieren, wird mit den Ereignissen des Objekts automatisch zu Ausführungszeitpunkt Visual Basic .NET verbunden. Fügen Sie das relevante Handler hinzu, um ein bestimmtes Ereignis für ein Objekt zu behandeln, indem Sie die Liste Klasse und die Liste Methode der Umgebung von Visual Studio .NET verwenden, während Sie sich in Codeansicht befinden.
  • Methode 2

    Visual Basic .NET bietet eine weitere Ereignisse behandelnde Möglichkeit. Sie können die Anweisung AddHandler und die Anweisung von RemoveHandler verwenden, damit Sie die Ereignisbehandlung nach einem bestimmten Ereignis dynamisch starten und dynamisch beenden können.

    Hinweis: Sie können eine System.Reflection.TargetInvocationException Ausnahme erhalten, wenn Sie das WithEvents Schlüsselwort verwenden, um die Ereignishandler zu erstellen. Verwenden Sie das AddHandler Ereignis daher um die Ereignishandler zu erstellen.

Erstellen Sie das Visual basic .net-automatisierungsclients-clients, das PowerPoint-Ereignisse behandelt

Die folgenden Gruppen der Schritte zeigen, wie zu dem Behandeln der PowerPoint-Anwendungsereignisse von Automatisierungsclient, die entwickelt wird, indem Visual Basic .NET verwendet, die AddHandler Anweisung verwandt wird.

Gehen Sie folgendermaßen vor, um ein Projekt in Visual Basic zu erstellen:
  1. Starten Sie Microsoft Visual Studio .NET.
  2. Klicken Sie in dem Menü Datei auf Neu, und klicken Sie dann auf Projekt.
  3. Klicken Sie in der Liste des Projekttypen auf Visual Basic-Projekte. Klicken Sie in der Liste Vorlagen auf Windows-Anwendung.
  4. Nennen Sie das Projekt PowerPointEvents und klicken Sie dann auf OK.

    Standardmäßig wird ein Formular erstellt, das als Form1 bezeichnet wird.
Gehen Sie folgendermaßen vor, um Verweise dem Microsoft PowerPoint Object Library und dem Eintrag für Microsoft Graph Object Library hinzuzufügen:
  1. Klicken Sie in dem Menü Projekt auf Verweis hinzufügen.
  2. Auf die Registerkarte COM klicken Sie auf einen der folgenden Schritte, und dann auf Auswahl Sie klicken:
    • Klicken Sie für Microsoft Office PowerPoint 2007 auf Microsoft PowerPoint 12.0 Object Library.
    • Klicken Sie für Microsoft Office PowerPoint 2003 auf Microsoft PowerPoint 11.0 Object Library.
  3. Auf die Registerkarte COM klicken Sie auf einen der folgenden Schritte, und dann auf Auswahl Sie klicken:
    • Klicken Sie für Microsoft Graph 12.0 auf Microsoft Graph 12.0 Object Library.
    • Klicken Sie für Microsoft Graph 11.0 auf Microsoft Graph 11.0 Object Library.
  4. Klicken Sie in dem Dialogfeld Verweise hinzufügen auf OK, um Ihre Auswahl überzunehmen.
  5. Doppelklicken Sie auf das Formular.

    Öffnet das Codefenster.
  6. Fügen Sie den folgenden Code an dem Anfang der Datei Form1.vb hinzu:
    	Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
    	Imports Office = Microsoft.Office.Core
    	Imports Graph = Microsoft.Office.Interop.Graph
    
  7. Klicken Sie in dem Menü Ansicht auf Designer.
  8. Klicken Sie in dem Menü Ansicht auf Toolbox, und fügen Sie dann zu Form1 eine Schaltfläche hinzu.
  9. Doppelklicken Sie auf Button1.

    Öffnet das Codefenster bei dem Ereignis Button1 Click.
  10. Fügen Sie in dem Codefenster den folgenden Code vor dem Ereignis Button1 Click ein:
    	Dim oApp As PowerPoint.Application
    	Dim oPres As PowerPoint.Presentation
    
  11. Fügen Sie dem Ereignis Button1 Click den folgenden Code hinzu:
    	Const sTemplate = "C:\Program Files\Microsoft Office\Templates\Presentation Designs\Orbit.pot"
            ' If the previous template is not available, change the template name to a template name that is on your system.
            Const sVideo = "C:\WINDOWS\system32\oobe\images\intro.wmv"
    
            Dim oPresentations As PowerPoint.Presentations
            Dim oSlides As PowerPoint.Slides
            Dim oSlide As PowerPoint.Slide
            Dim oShapes As PowerPoint.Shapes
            Dim oShape As PowerPoint.Shape
            Dim oMovie As PowerPoint.Shape
            Dim oAnimationSettings As PowerPoint.AnimationSettings
            Dim oPlaySettings As PowerPoint.PlaySettings
            Dim oTextFrame As PowerPoint.TextFrame
            Dim oTextRange As PowerPoint.TextRange
            Dim oFont As PowerPoint.Font
            Dim oOLEFormat As PowerPoint.OLEFormat
            Dim oShadow As PowerPoint.ShadowFormat
            Dim oForeColor As PowerPoint.ColorFormat
            Dim oRange As PowerPoint.SlideRange
            Dim oSlideShowTransition As PowerPoint.SlideShowTransition
    
            'Start PowerPoint and then make the PowerPoint window visible but minimized.
            oApp = New PowerPoint.Application
    
            'Add event handlers.
            AddHandler oApp.SlideShowBegin, AddressOf oApp_SlideShowBegin
            AddHandler oApp.SlideShowNextSlide, AddressOf oApp_SlideShowNextSlide
            AddHandler oApp.PresentationClose, AddressOf oApp_PresentationClose
    
            oApp.Visible = True
            oApp.WindowState = PowerPoint.PpWindowState.ppWindowMinimized
    
            'Create a new presentation that is based on the specified template.
            oPresentations = oApp.Presentations
            oPres = oPresentations.Open(sTemplate, , , True)
    
            'Build slide 1.
            'Add text to the slide, change the font, and then insert or position a 
            'movie on the first slide.
            oSlides = oPres.Slides
            oSlide = oSlides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
            oShapes = oSlide.Shapes
            oShape = oShapes.Item(1)
            oTextFrame = oShape.TextFrame
            oTextRange = oTextFrame.TextRange
            oTextRange.Text = "My sample presentation"
            oFont = oTextRange.Font
            oFont.Name = "Comic Sans MS"
            oFont.Size = 48
    
            oMovie = oShapes.AddMediaObject(sVideo, 150, 150, 500, 350)
            oAnimationSettings = oMovie.AnimationSettings
            oPlaySettings = oAnimationSettings.PlaySettings
            oPlaySettings.PlayOnEntry = True
            oPlaySettings.HideWhileNotPlaying = True
    
            'NAR to release references.
            NAR(oPlaySettings)
            NAR(oAnimationSettings)
            NAR(oMovie)
            NAR(oFont)
            NAR(oTextRange)
            NAR(oTextFrame)
            NAR(oShape)
            NAR(oShapes)
            NAR(oSlide)
            NAR(oSlides)
    
            'Build slide 2.
            'Add text to the slide title and then format the text. Also, add a chart to the
            'slide and then change the chart type to a 3D Column Clustered.
            oSlides = oPres.Slides
            oSlide = oSlides.Add(2, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
            oShapes = oSlide.Shapes
            oShape = oShapes.Item(1)
            oTextFrame = oShape.TextFrame
            oTextRange = oTextFrame.TextRange
            oTextRange.Text = "My chart"
            oFont = oTextRange.Font
            oFont.Name = "Comic Sans MS"
            oFont.Size = 48
    
            Dim oChart As Graph.Chart
            oShape = oShapes.AddOLEObject(150, 150, 480, 320, "MSGraph.Chart.8")
            oOLEFormat = oShape.OLEFormat
            oChart = oOLEFormat.Object
            oChart.ChartType = Graph.XlChartType.xl3DColumnClustered
    
            'NAR to release references.
            NAR(oChart)
            NAR(oOLEFormat)
            NAR(oFont)
            NAR(oTextRange)
            NAR(oTextFrame)
            NAR(oShape)
            NAR(oShapes)
            NAR(oSlide)
            NAR(oSlides)
    
    
            'Build slide 3.
            'Add a text effect to the slide and then apply shadows to the text effect.
            oSlides = oPres.Slides
            oSlide = oSlides.Add(3, PowerPoint.PpSlideLayout.ppLayoutBlank)
            oSlide.FollowMasterBackground = False
            oShapes = oSlide.Shapes
            oShape = oShapes.AddTextEffect(Office.MsoPresetTextEffect.msoTextEffect27, _
                "The End", "Impact", 96, False, False, 230, 200)
    
            oShadow = oShape.Shadow
            oForeColor = oShadow.ForeColor
            oForeColor.SchemeColor = PowerPoint.PpColorSchemeIndex.ppForeground
            oShadow.Visible = True
            oShadow.OffsetX = 3
            oShadow.OffsetY = 3
    
            'NAR to release references.
            NAR(oShadow)
            NAR(oForeColor)
            NAR(oShape)
            NAR(oShapes)
            NAR(oSlide)
            NAR(oSlides)
    
    
            'Modify the slide show transition settings for all three slides in
            'the presentation.
            Dim SlideIdx(3) As Integer
            SlideIdx(0) = 1
            SlideIdx(1) = 2
            SlideIdx(2) = 3
    
            oSlides = oPres.Slides
            oRange = oSlides.Range(SlideIdx)
            oSlideShowTransition = oRange.SlideShowTransition
            oSlideShowTransition.AdvanceOnTime = False
            oSlideShowTransition.EntryEffect = PowerPoint.PpEntryEffect.ppEffectBoxOut
    
    
            'Run the slide show in a separate method.
            RunSlideShow()
    
            'NAR to release references.
            NAR(oSlideShowTransition)
            NAR(oRange)
            NAR(oSlides)
    
            'Close the presentation without saving changes and then quit PowerPoint.
            oPres.Saved = True
            oPres.Close()
    
            'NAR the presentation objects.
            NAR(oPres)
            NAR(oPresentations)
    
            'Remove all event handlers.
            RemoveHandler oApp.SlideShowBegin, AddressOf oApp_SlideShowBegin
            RemoveHandler oApp.SlideShowNextSlide, AddressOf oApp_SlideShowNextSlide
            RemoveHandler oApp.PresentationClose, AddressOf oApp_PresentationClose
    
            'Quit PowerPoint.
            oApp.Quit()
            NAR(oApp)
    
            GC.Collect()
    
  12. Fügen Sie in dem Codefenster den folgenden Code unterhalb des Ereignisses Button1 Click ein:
    	Private Sub RunSlideShow()
                Dim oSettings As PowerPoint.SlideShowSettings
    	    Dim oSlideShowWindows As PowerPoint.SlideShowWindows
    
    	    oSettings = oPres.SlideShowSettings
    	    oSettings.StartingSlide = 1
           	    oSettings.EndingSlide = 3
    
                'Run the slide show. Wait for the slide show to finish.
                oSettings.Run()
    
                oSlideShowWindows = oApp.SlideShowWindows
    
                On Error Resume Next
                Do While oSlideShowWindows.Count >= 1
    	        System.Windows.Forms.Application.DoEvents()
           	    Loop
    
    	    NAR(oSlideShowWindows)
                NAR(oSettings)
    	End Sub
    
        	'NAR function to remove reference.
       	Private Sub NAR(ByVal o As Object)
                Try
    	        System.Runtime.InteropServices.Marshal.ReleaseComObject(o)
                Catch
                Finally
                    o = Nothing
                End Try
        	End Sub
    
  13. Fügen Sie die folgenden Ereignishandler unterhalb des vorherigen Codes hinzu:
    	'Event Handlers
    
        	Private Sub oApp_SlideShowBegin(ByVal Wn As Microsoft.Office.Interop.PowerPoint.SlideShowWindow)
                'Change the position and the size of the slide show window.
                Dim oView As PowerPoint.SlideShowView
    
                With Wn
                    .Height = 325
                    .Width = 400
                    .Left = 100
                    .Activate()
                End With
    
               'Start the movie at the first slide.
                oView = Wn.View
                oView.Next()
    
                NAR(oView)
                NAR(Wn)
        	End Sub
    
        	Private Sub oApp_SlideShowNextSlide(ByVal Wn As Microsoft.Office.Interop.PowerPoint.SlideShowWindow)
                'Change the color and the type of pointer depending on the slide.
                Dim Showpos As Integer
                Dim oView As PowerPoint.SlideShowView
                Dim oColorFormat As PowerPoint.ColorFormat
    
                oView = Wn.View
                Showpos = oView.CurrentShowPosition + 1
    
                If Showpos = 3 Then
                    oColorFormat = oView.PointerColor
                    oColorFormat.RGB = RGB(255, 0, 0)
                    oView.PointerType = PowerPoint.PpSlideShowPointerType.ppSlideShowPointerPen
                Else
                    oColorFormat = oView.PointerColor
                    oColorFormat.RGB = RGB(0, 0, 0)
                    oView.PointerType = PowerPoint.PpSlideShowPointerType.ppSlideShowPointerArrow
                End If
    
                NAR(oColorFormat)
                NAR(oView)
                NAR(Wn)
        	End Sub
    
        	Private Sub oApp_PresentationClose(ByVal Pres As Microsoft.Office.Interop.PowerPoint.Presentation)
                'Before you close the presentation, save the presentation as HTML.
                Pres.SaveAs("C:\TestEvents.htm", PowerPoint.PpSaveAsFileType.ppSaveAsHTML)
                NAR(Pres)
        	End Sub
    

Probieren Sie es einfac

  1. Drücken Sie [F5], um die Anwendung auszuführen
  2. Klicken Sie auf Button1.

    PowerPoint startet die Diaschau. Beachten Sie folgend:
    • Die erste Folie startet einen Film.
    • Zeigertypenänderungen.
    • Farbenänderungen auf der zweiten Folie, die ein Diagramm aufweist.
  3. Schließen Sie die Präsentation.

Informationsquellen

Erhalten Sie Weitere Informationen, indem auf die folgenden Artikelanzahlen klickt, um die Artikel der Microsoft Knowledge Base zu lesen:
308330 Wie Behandeln von PowerPoint 2002-Ereignissen, indem Visual Basic .NET 2002 verwendet
254009 Zu Download verfügbare PowerPoint 2000-Ereignisdemo
303717 Wie Verwenden von Automatisierung zu dem Erstellen und Anzeige einer PowerPoint 2002-Präsentation oder einer Office PowerPoint 2003-Präsentation, indem Visual Basic .NET 2002 oder Visual Basic .NET 2003 verwendet
823996 Wenn Sie auf ein Office Type Library in Visual Studio .NET verweisen, wird PIA nicht gefunden

Eigenschaften

Artikel-ID: 824021 - Geändert am: Donnerstag, 24. Mai 2007 - Version: 2.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Office PowerPoint 2007
  • Microsoft Office PowerPoint 2003
  • Microsoft Visual Basic .NET 2003 Standard Edition
Keywords: 
kbexpertiseinter kbhowtomaster kbautomation KB824021 KbMtde kbmt
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 824021
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com