Salut à tous
J'ai un petit Pb, je voudrais qu'à l'ouverture de ma BDD Access, un PowerPoint s'ouvre automatiquement et qu'à la fin de son execution il se ferme automatiquement.
Merci d'avance
Jord
Salut à tous
J'ai un petit Pb, je voudrais qu'à l'ouverture de ma BDD Access, un PowerPoint s'ouvre automatiquement et qu'à la fin de son execution il se ferme automatiquement.
Merci d'avance
Jord
Salut,
Pour l'ouverture, Un bidouillage en forçant le message access
(tu le verras, c'est en mode création):
Mettre les propriétés de l'objet:
Activé = Oui
Vérouillé = Non
( En dernier ) Auto activer = Réception focus. 'ici le message!
+
pour la sortie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Form_Open(Cancel As Integer) Me.IndépendantOLE0.SetFocus End Sub, pp ne permet pas de sortir du diaporama
sans ECHAP. Je pense alors à un timer qui, arrivé au temps total
de la diapo, ferait un SendKeys "{ESC}"...
Il y a peut-être (voire sûrement) plus propre mais je te
livre mes premières idées.![]()
Salut,
Tu peux utiliser l'OLE pour ouvrir la présentation et fermer powerpoint lorsqu'elle est finie :
Pour que le code compile il faut cocher la référence à power-point dans outils-> références
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Dim PP As PowerPoint.Application Dim PR As PowerPoint.Presentation Dim Current As Double Set PP = New PowerPoint.Application PP.Visible = True Set PR = PP.Presentations.Open("D:\test.pps") On Error Resume Next Do Current = PP.SlideShowWindows(1).View.Slide.SlideIndex If Err.Number <> 0 Then Exit Do DoEvents Loop On Error GoTo 0 PP.Quit Set PR = Nothing Set PP = Nothing
Salut Arkham46, content de te recroiser![]()
Pour ton code il faut mettre .ppt en extension pas .pps.
Pour le reste ça a fonctionné une fois et après...plus rien.![]()
Bon, c'est peut-être moi qui sait pas utiliser un OLE avec ton code...
J'ai essayé ceci et ça a l'air de fonctionner:
Propriété Auto Activer sur Manuel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Option Compare Database Dim tps As Integer Private Sub Form_Open(Cancel As Integer) Me.TimerInterval = 1000 Me.IndépendantOLE0.Action = 7 End Sub 'Fermeture Private Sub Form_Timer() tps = tps + 1 If tps > 10 Then '9 diapos avec transition = 1 seconde SendKeys "{Esc}" Me.TimerInterval = 0 tps = 0 End If End Sub
Salut Faw,
En fait mon code il marche bien avec des diaporamas pps car le diaporama démarre tout seul.
Pour qu'il fonctionne avec des présentations ppt, il faut ajouter :
juste avant le "on error resume next" pour lancer la présentation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part PR.SlideShowSettings.Run
Par contre je n'ai pas de control OLE, ça ouvre une application powerpoint dans une autre tâche.
Je n'ai pas l'impression qu'on puisse faire grand chose en automation OLE avec un control activeX, c'est pour ça que je préfère ouvrir une tâche que je peux piloter comme je veux.
Bye.
Bonjour,
Si si, en passant par Cadre d'objet indépendant + l'Assistant. En tout cas c'est suffisant pour ouvrir/fermer unEnvoyé par Arkham46
diaporama .ppt...
Mais ça n'a plus d'importance. J'ai fait le test avec
PR.SlideShowSettings.Run et
ça marche!!! (je remballe mon Timer
même
s'il fonctionne à merveille + mon OLE).
Cela dit ça dépend du contexte de Jord.
EncoreArkham46. J'adopte
![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager