Automatiser powerpoint

Signaler
Messages postés
78
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
15 novembre 2018
-
Messages postés
14
Date d'inscription
jeudi 6 avril 2006
Statut
Membre
Dernière intervention
3 février 2012
-
Bonjour,

Je viens vers vous pour un petit éclaircissement, voila je voulais automatiser des diaporamas via un logiciel externe
le but de ce logiciel est de démarrer plusieurs présentation directement dans le diaporama (sans passer par l'affichage du logiciel de powerpoint), pour l'instant j'arrive a démarrer le logiciel powerpoint, puis lancer le diaporama puis enfin contrôlé l'avance dans mes diaporamas. Je n'arrive pas a démarrer directement dans le diaporama sans démarrer le logiciel powerpoint.

code de chargement d'un diaporama
    Private Sub ouvrir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try 'gestion des erreur ci pPt n'est pas ini
            pPT.Visible = True
        Catch ex As Exception
            pPT = New PowerPoint.Application
            AddHandler pPT.SlideShowNextSlide, AddressOf changement_diapo
            pPT.Visible = True
        End Try

        With OpenFileDialog1
            .Title = "choix du power point"
            .Filter = "Fichiers ppt|*.ppt"
            .Multiselect = False
        End With

        If OpenFileDialog1.ShowDialog = DialogResult.OK Then  'L'utilisateur a bien cliqué sur ok
            'ouvertur de la présentation dans powerpoint
            pPT.Presentations.Open(OpenFileDialog1.FileName, Microsoft.Office.Core.MsoTriState.msoFalse)
            'ouvertur du diaporama
            pPT.ActivePresentation.SlideShowSettings.Run()
            'affichage du nb de slide 
            Label3.Text = "/     " & pPT.ActivePresentation.Slides.Count
            pPT.Activate()
            pPT.WindowState = PowerPoint.PpWindowState.ppWindowMinimized
        End IF
    End Sub



code pour suivre le changement de la diapo affichée
    Private Sub changement_diapo(ByVal Wn As Microsoft.Office.Interop.PowerPoint.SlideShowWindow)
        Label1.Text = pPT.ActivePresentation.SlideShowWindow.View.CurrentShowPosition
    End Sub


code pour avancé dans la présentation
    pPT.ActivePresentation.SlideShowWindow.View.Next()


code pour reculé dans la présentation
    pPT.ActivePresentation.SlideShowWindow.View.Previous()


code pour quitté le diaporama
    pPT.ActivePresentation.Application.Quit()

5 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
est-ce normal que tu lances un ppt (le "code") et non un pps (diaporama) ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
78
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
15 novembre 2018

oui c'est normal le but de cet application est de remplacer le viewer de powerpoint en faisant quelque modification

1) pouvoir lancer plusieurs présentation (le viewer de powerpoint ne peut afficher qu'une présentation a la fois et stocke les autre dans une fille d'attente, puis les affiches dans l'ordre a la fin de chaque présentation)

2) avoir un aperçu de l'ensemble des diapos sans la lourdeur de l'interface de powerpoint

3) pouvoir enregistrer les annotations dans un nouveau powerpoint ou au format bmp
Messages postés
78
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
15 novembre 2018

Personne n'a d'idée??
Messages postés
78
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
15 novembre 2018

Je ne trouve rien qui puisse être utilisable si ce n'est ouvrir les powerpoint avec le viewer de powerpoint (et non l'automatisme de la base de registre) et faire des postemessage ou sendkey (flèche de droite ou gauche) sur le hwnd de la fenêtre de la présentation.

le gros pb avec cette solution c'est que je perd les point 2) et 3)

Si quelqu'un a une idée ou une approche différente du pb je suis preneur.
Messages postés
14
Date d'inscription
jeudi 6 avril 2006
Statut
Membre
Dernière intervention
3 février 2012

Bonjour

Avez eu la réponse à votre question ???

Moi pour piloter les powerpoint je lance powerpoint.exe avec l'argument /S ce qui ouvre directement un ppt en diaporamma de plus
la fenêtre d'ouverture de powerpoint n'apparait plus.

Cordialement