PPT: Exemple de code pour copier des diapositives dans autre présentation

Traductions disponibles Traductions disponibles
Numéro d'article: 163195 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article contient un exemple Microsoft Visual Basic de macro pour applications (sous-procédure) qui copie la diapositive en cours à partir de la présentation active si elle est en mode diapositive et colle la diapositive dans une autre présentation. Si vous avez deux présentations, ouvrez, la macro colle la diapositive dans la présentation qui n'est pas la présentation active. Vous si vous avez plus de deux présentations ouvrir, l'Assistant demande quelle présentation que vous souhaitez recevoir l'objet.

Plus d'informations

Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie expresse ou implicite. Cela inclut, mais n'est pas limité à, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du support technique Microsoft peuvent vous aider à comprendre la fonctionnalité d'une procédure particulière, mais ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.

Exemple de procédure Visual Basic

   Sub AppendSlides()

      Dim lCurrentView As Long

      ' Object reference to presentations.
      Dim oDestPres As Presentation
      Dim oSourcePres As Presentation
      Dim oPossiblePres() As Presentation

      Dim oPresObject As Presentation

      ' Used to build the message box.
      Dim strPrompt As String
      Dim strTitle As String

      ' Variables for the assistant.
      Dim Ball As Balloon
      Dim Count As Long
      Dim lResult As Long

      ' Determine which view the active presentation is using.
      lCurrentView = ActiveWindow.ViewType

      ' Check if PowerPoint is in Slide Sorter view.
      If lCurrentView <> ppViewSlideSorter And _
         lCurrentView <> ppViewSlide Then

         ' Create the prompt for the error message.
         strPrompt = "You must be in Slide Sorter or Slide view to run " _
            & "this macro. Please switch to one of these views and run " _
            & "the macro again."

         ' Create the title for the error message.
         strTitle = "Wrong View Type"

         ' Display the message box.
         MsgBox strPrompt, vbExclamation, strTitle

         ' End the macro.
         End

      End If

      ' Check if more than one presentation is open.
      If PowerPoint.Presentations.Count = 1 Then

         ' Only one presentation is open.
         ' Create the prompt for the error message.
         strPrompt = "You only have one presentation open. " _
            & "Please open a destination presentation and run " _
            & "the macro again. "

         ' Create the title for the error message.
         strTitle = "One Presentation Open"

          ' Display the message box.
         MsgBox strPrompt, vbExclamation, strTitle

         ' End the macro.
         End

      End If

      ' Check if two presentations are open.
      If PowerPoint.Presentations.Count = 2 Then

         ' Determine which presentation is the destination.
         ' This algorithm uses the presentation that is not active
         ' as the destination.
         If Presentations(1).Name <> ActivePresentation.Name Then

            ' The destination is presentations(1).
            Set oDestPres = Presentations(1)
            Set oSourcePres = Presentations(2)

         Else
            ' The destination is presentations(2).
            Set oDestPres = Presentations(2)
            Set oSourcePres = Presentations(1)

         End If

      End If

      ' Check if more than two presentations are open in PowerPoint.
      If PowerPoint.Presentations.Count > 2 Then

         ' Create the balloon for the assistant.
         Set Ball = Assistant.NewBalloon

         With Ball

            ' Set up the heading and text.
            .Heading = "Select a Presentation"
            .Text = "Which Presentation would you like to use as the " _
               & "destination?"

            ' Sets the BalloonType Property.
            .BalloonType = msoBalloonTypeButtons

            ' Make the balloon modal (this is the default).
            .Mode = msoModeModal

            ' Add a Cancel button to the balloon (OK is default).
            .Button = msoButtonSetCancel

         End With

         For Each oPresObject In PowerPoint.Presentations

            If ActivePresentation.Name = oPresObject.Name Then
               Set oSourcePres = oPresObject
            Else

               ' Increment the counter.
               Count = Count + 1

               ' Change the size of the array.
               ReDim Preserve oPossiblePres(1 To Count)

               ' Add an object reference to the array.
               Set oPossiblePres(Count) = oPresObject

               ' Assign presentation name to a balloon label.
               Ball.Labels(Count).Text = oPresObject.Name

             End If

         Next oPresObject

         ' Display the assistant.
         If Assistant.Visible = False Then
            Assistant.Visible = True
         End If

         ' Display the assistant greeting.
         Assistant.Animation = msoAnimationGreeting

         ' Display the balloon.
         lResult = Ball.Show

         ' End the macro if the Cancel button was hit.
         If lResult = -vbCancel Then
            End
         End If

         ' Set up the destination.
         Set oDestPres = oPossiblePres(lResult)

      End If

      ' Copy the slide and paste to the end of the destination
      ' presentation.
      If oSourcePres.Windows(1).ViewType = ppViewSlide Then

         ' Copy the slide.
         With oSourcePres.Windows(1).Selection.SlideRange
            oSourcePres.Slides(.SlideNumber).Copy
         End With

         ' Check if destination presentation is using slide sorter view.
         If oDestPres.Windows(1).ViewType = ppViewSlideSorter Then
            oDestPres.Windows(1).View.Paste
            MsgBox "Sucessfully pasted slide.", vbInformation
         Else

            ' Create the message text for the message box.
            strPrompt = "The destination must be Slide Sorter view. " _
               & "Switch to Slide Sorter View?"

            strTitle = "Change to Slide Sorter"

            ' Ask the user to switch to slide sorter.
            lResult = MsgBox(strPrompt, vbExclamation + vbOKCancel, _
               strTitle)

            If lResult = vbOK Then

               ' Paste the slide.
               oDestPres.Windows(1).ViewType = ppViewSlideSorter
               oDestPres.Windows(1).View.Paste
               MsgBox "Sucessfully pasted slide.", vbInformation
            Else
               ' Cancel button was selected.
               strPrompt = "No changes have been made to the presentation."
               strTitle = "No Changes Made"
               MsgBox strPrompt, vbInformation, strTitle
               End
            End If

         End If

      Else

         ' The source presentation is not in slide view.
         strPrompt = "The source presentation is not in slide view. " _
            & "Please switch the active presentation to Slide View and" _
            & " run the macro again."
         strTitle = "Wrong View"
         MsgBox strPrompt, vbExclamation, strTitle
      End If

   End Sub
				

Références

Pour plus d'informations sur la création de Visual Basic pour applications macros, cliquez sur le Compagnon Office dans Microsoft PowerPoint, tapez comment créer une macro, cliquez sur Rechercher, puis cliquez pour afficher «"créer une macro dans Visual Basic Editor.

Pour plus d'informations sur l'exécution de Visual Basic pour applications macros, cliquez sur le Compagnon Office dans Microsoft PowerPoint, tapez comment exécuter une macro, cliquez sur Rechercher, puis cliquez pour afficher "Exécuter une macro".

Remarque : Si le Compagnon est masqué, cliquez sur le bouton Compagnon Office dans la barre d'outils standard. Si le Compagnon n'est pas en mesure de répondre à votre requête, consultez l'article suivant dans la base de connaissances Microsoft :
176476OFF : Le Compagnon Office ne répond pas aux questions sur Visual Basic
Pour plus d'informations sur la marche à suivre pour obtenir de l'aide concernant Visual Basic pour applications, consultez l'article suivant dans la base de connaissances Microsoft :
163435VBA : Ressources de programmation pour Visual Basic pour applications

Propriétés

Numéro d'article: 163195 - Dernière mise à jour: mercredi 11 octobre 2006 - Version: 3.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft PowerPoint 98 for Macintosh
  • Microsoft PowerPoint 97 Standard
Mots-clés : 
kbmt kbcode kbdtacode kbhowto kbmacro kbprogramming KB163195 KbMtfr
Traduction automatique
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: 163195
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.

Envoyer des commentaires

 

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