Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Votre navigateur n’est pas pris en charge

Vous devez mettre à jour votre navigateur pour utiliser le site.

Mettre à jour vers la dernière version d’Internet Explorer

Comment gérer les événements PowerPoint à l'aide de Visual Basic .NET 2003

Le support d'Office 2003 a pris fin

Microsoft a mis fin au support d'Office 2003 le 8 avril 2014. Cette modification a affecté vos mises à jour logicielles et options de sécurité. Découvrez les implications de ce changement à votre niveau et la marche à suivre pour rester protégé.

IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 824021
INTRODUCTION
Cet article explique comment gérer les événements de Microsoft Office PowerPoint à partir d'un client Automation qui est développée à l'aide de Microsoft Visual Basic .NET 2003.

Créer un gestionnaire d'événements

Vous pouvez utiliser une des méthodes suivantes pour créer un gestionnaire d'événements à l'aide de Visual Basic .NET. La méthode que vous choisissez dépend de la façon dont vous souhaitez associer le gestionnaire d'événements avec un événement.
  • Méthode 1

    En règle générale, vous créez un gestionnaire d'événements en utilisant la clé gère avec le mot clé WithEvents . Se lorsque vous déclarez une variable de référence à l'aide du mot clé WithEvents , Visual Basic .NET connecte automatiquement aux événements de l'objet au moment de l'exécution. Pour gérer un événement spécifique pour un objet, d'ajouter le gestionnaire approprié en utilisant la classe liste et la liste méthode de l'environnement Visual Studio .NET lorsque vous êtes dans le code voir.
  • Méthode 2

    Visual Basic .NET offre un autre moyen de gérer les événements. Vous pouvez utiliser l'instruction AddHandler et l'instruction RemoveHandler afin que vous puissiez dynamiquement démarrer et arrêter dynamiquement la gestion des événements d'un événement spécifique.

    note Si vous utilisez le mot clé WithEvents pour construire les gestionnaires d'événements, vous pouvez recevoir une exception System.Reflection.TargetInvocationException . Par conséquent, utilisez l'événement AddHandler pour construire les gestionnaires d'événements.

Créer le client Automation .NET de Visual Basic qui gère les événements de PowerPoint

Les jeux d'étapes suivants indiquent comment utiliser l'instruction AddHandler pour gérer les événements d'application PowerPoint à partir d'un client Automation qui est développée à l'aide de Visual Basic .NET.

Pour créer un projet Visual Basic .NET, procédez comme suit :
  1. Début Microsoft Visual Studio .NET 2003.
  2. Dans le menu Fichier , cliquez sur Nouveau , puis cliquez sur le projet .
  3. Dans la liste types de projets , cliquez sur projets Visual Basic . Dans la liste modèles , cliquez sur application Windows .
  4. Nommez le projet PowerPointEvents, puis cliquez sur OK .

    Par défaut, un formulaire est nommé Form1 est créé.
Pour ajouter des références à la bibliothèque d'objets Microsoft PowerPoint et à la bibliothèque d'objets Microsoft Graph Microsoft, procédez comme suit :
  1. Dans le menu projet , cliquez sur Ajouter une référence .
  2. Dans l'onglet COM , cliquez sur une des options suivantes et puis cliquez sur Sélection :
    • Pour Microsoft Office PowerPoint 2007, cliquez sur Bibliothèque d'objets Microsoft PowerPoint 12.0 .
    • Pour Microsoft PowerPoint 2003, cliquez sur Bibliothèque d'objets Microsoft PowerPoint 11.0 .
  3. Dans l'onglet COM , cliquez sur une des options suivantes et puis cliquez sur Sélection :
    • Pour Microsoft Graph 12.0, cliquez sur Bibliothèque d'objets Microsoft Graph 12.0 .
    • Pour Microsoft Graph 11.0, cliquez sur Bibliothèque d'objets Microsoft Graph 11.0 .
  4. Dans la boîte de dialogue Ajouter une référence , cliquez sur OK pour accepter vos sélections.
  5. Double-cliquez sur le formulaire.

    La fenêtre de code s'ouvre.
  6. En haut du fichier Form1.vb, ajoutez le code suivant :
    	Imports PowerPoint = Microsoft.Office.Interop.PowerPoint	Imports Office = Microsoft.Office.Core	Imports Graph = Microsoft.Office.Interop.Graph
  7. Dans le menu Affichage , cliquez sur Concepteur .
  8. Dans le menu Affichage , cliquez sur boîte à outils , puis ajouter un bouton à Form1.
  9. Double-cliquez sur Button1 .

    La fenêtre de code s'ouvre à l'événement Button1_Click .
  10. Dans la fenêtre Code, placez le code suivant avant l'événement Button1_Click :
    	Dim oApp As PowerPoint.Application	Dim oPres As PowerPoint.Presentation
  11. Ajoutez le code suivant à l'événement Button1_Click :
    	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()
    oApp.Quit() NAR(oApp) GC.Collect()
  12. Dans la fenêtre Code, placez le code suivant sous l'événement Button1_Click :
    	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. Ajouter les gestionnaires d'événements suivant sous le code précédent :
    	'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
    Pres.SaveAs (« C:\TestEvents.htm », PowerPoint.PpSaveAsFileType.ppSaveAsHTML) NAR(Pres) End Sub

Essayer

  1. Appuyez sur F5 pour exécuter l'application.
  2. Cliquez sur Button1 .

    PowerPoint démarre le diaporama. Notez les opérations suivantes :
    • La première diapositive démarre un film.
    • Le pointeur se transforme type.
    • Les modifications de couleur sur la deuxième diapositive contenant un graphique.
  3. Fermez la présentation.
Références
Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :
308330 Comment gérer les événements PowerPoint 2002 à l'aide de Visual Basic .NET 2002
254009 PowerPoint 2000 événement démonstration disponible au téléchargement
303717 Comment utiliser automation pour créer et d'afficher une présentation PowerPoint 2002 ou d'une présentation Office PowerPoint 2003 en utilisant Visual Basic .NET 2002 ou Visual Basic .NET 2003
823996 PIA est introuvable lorsque vous référencez une bibliothèque de types Office dans Visual Studio .NET
événement net Alimentation point connexion PPT2007 PowerPoint vb

Avertissement : cet article a été traduit automatiquement

Propriétés

ID d'article : 824021 - Dernière mise à jour : 05/24/2007 22:15:42 - Révision : 2.1

  • Microsoft Office PowerPoint 2007
  • Microsoft Office PowerPoint 2003
  • Microsoft Visual Basic .NET 2003 Initiation
  • kbmt kbexpertiseinter kbhowtomaster kbautomation KB824021 KbMtfr
Commentaires
//c1.microsoft.com/c.gif?DI=4050&did=1&t=">='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> >ow.location.protocol) + "//c.microsoft.com/ms.js'><\/script>");