Comment faire pour utiliser automation pour créer et afficher une présentation PowerPoint à l’aide de Visual Basic .NET 2002 ou Visual Basic .NET 2003

Pour obtenir une version Microsoft Visual C# .NET de cet article, reportez-vous à la section.
303718 .
Pour obtenir une version Microsoft Visual C++ .NET de cet article, reportez-vous à la section.
308336 .

Résumé

Cet article explique comment utiliser automation pour créer et afficher une présentation Microsoft PowerPoint à l’aide de Microsoft Visual Basic .NET 2002 ou Visual Basic .NET 2003.

Plus d'informations

Créer un client automation pour Microsoft PowerPoint

  1. Démarrez Microsoft Visual Studio .NET 2002 ou Visual Studio .NET 2003. Dans le menu fichier , cliquez sur Nouveau , puis cliquez sur projet. Sélectionnez Application Windows dans les types de projets de Visual Basic. Form1 est créé par défaut.
  2. Ajoutez une référence à la Bibliothèque d’objets Microsoft PowerPoint et à la Bibliothèque d’objets Microsoft Graph. Pour ce faire, procédez comme suit :
    1. Dans le menu projet, cliquez sur Ajouter une référence.
    2. Sous l’onglet COM , recherchez le
      Bibliothèque d’objets Microsoft PowerPoint, puis cliquez sur
      Sélectionnez. Recherchez également la Bibliothèque d’objets Microsoft Graph, puis cliquez sur Sélectionner.

      Remarque: Microsoft Office 2003 et les versions ultérieures de Microsoft Office inclut des assemblys PIA (Primary Interop Assemblies). Microsoft Office XP n’inclut pas d’assemblys PIA, mais ils peuvent être téléchargés.

      Pour plus d’informations sur les assemblys PIA Office XP, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
      328912 les assemblys PIA de Microsoft Office XP sont disponibles pour téléchargement

    3. Cliquez sur OK dans la boîte de dialogue Ajouter une référence pour accepter vos sélections.
  3. Dans le menu affichage , sélectionnez
    Boîte à outils pour afficher la boîte à outils et ajoutez un bouton à Form1.
  4. Double-cliquez sur Button1. La fenêtre de code pour le formulaire s’affiche.
  5. Dans la fenêtre de code, recherchez le code suivant
        Private Sub Button1_Click(ByVal sender As System.Object, _        ByVal e As System.EventArgs) Handles Button1.Click

    End Sub

    Remplacez par le code suivant :
        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

    Remarque Dans ce code, les constantes sTemplate et sPic représentent le chemin d’accès complet et le nom d’un modèle PowerPoint et d’une image, respectivement. Modifiez ces chemins si nécessaire pour utiliser un modèle ou une image qui est installé sur votre système.
  6. Ajoutez le code suivant au début de Form1.vb :
    Imports Office = Microsoft.Office.CoreImports Graph = Microsoft.Office.Interop.Graph
    Imports PowerPoint = Microsoft.Office.Interop.PowerPoint

  7. Appuyez sur F5 pour générer et exécuter le programme.
  8. Cliquez sur Button1 dans le formulaire pour générer et afficher une présentation PowerPoint.

Références

Pour plus d’informations, consultez le site Web de Microsoft Developer Network (MSDN) à l’adresse suivante :Pour plus d’informations sur l’automation PowerPoint, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :
180616 comment utiliser MFC pour créer et afficher une présentation PowerPoint

222929 comment automatiser PowerPoint à l’aide de Visual Basic

Propriétés

ID d'article : 303717 - Dernière mise à jour : 26 janv. 2017 - Révision : 1

Commentaires