Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
668to672
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
668to672
668to672
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Powerpoint starten

Powerpoint starten
22.09.2005 11:41:59
Reinhard
Hallo!
Ich hab' das VBA-Beispiel 177202 aus dem Archiv ausprobiert. Dieses sollte folgendes können:
PowerPoint soll mit einer SlideShow gestartet und nach Beendigung der SlideShow wieder geschlossen werden
Das Problem ist, daß es bei mir zwar Powerpoint startet aber sofort wieder beendet. Wie mache ich es, daß Powerpoint erst nach Ablauf der Slideshow beendet wird.
Hier der Codeteil:

Sub PowerPointStarten()
Dim ppApp As Object
Dim ppP As Object
Dim sFile As String
sFile = ThisWorkbook.Path & "\3ulrich.ppt"
If Dir(sFile) Then
Beep
MsgBox "die Datei " & sFile & " existiert nicht!"
Exit Sub
End If
Set ppApp = CreateObject("PowerPoint.Application")
ppApp.Visible = msoTrue
Set ppP = ppApp.Presentations.Open(sFile)
ppP.SlideShowSettings.Run
ppApp.Quit
Set ppP = Nothing
Set ppApp = Nothing
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Powerpoint starten
22.09.2005 14:07:59
Rene
ist in der ppt überhaupt was drin, die du öffnest?
lg René
AW: Powerpoint starten
22.09.2005 14:12:56
Reinhard
Natürlich ist was drin ;-)
Wenn ich bei der Zeile "ppAPP.Quit" einen Breakpoint setzte, dann kann ich die Slideshow ansehen.
AW: Powerpoint starten
26.09.2005 09:20:22
EtoPHG
Hallo Reinhard,
Versuch's mal damit:

Sub PowerPointStarten()
Dim sFile As String
Dim dProgID As Double
sFile = ThisWorkbook.Path & "\3ulrich.ppt"
If Dir(sFile) <> "" Then
dProgID = Shell("powerpnt.exe " & sFile, vbMaximizedFocus)
AppActivate dProgID
Else
Beep
MsgBox "die Datei " & sFile & " existiert nicht!"
Exit Sub
End If
End Sub

Gruss Hansueli
Anzeige
AW: Powerpoint starten
27.09.2005 10:01:08
Reinhard
Hallo Hansueli!
Fast.
Die Datei wird zwar geöffnet, aber nicht im Präsentationsmodus (ich kann nicht sicher sein, daß es als pps gespeichert ist)
Außerdem wäre es notwendig, daß das Excel-Modul wartet, bis die Präsentation abgelaufen ist.
Ciao
Reinhard
AW: Powerpoint starten
27.09.2005 10:40:00
EtoPHG
Hallo Reinhard,
so besser ?

Private Sub PowerPointStarten()
Dim sFile As String
Dim dProgID As Double
sFile = ThisWorkbook.Path & "\3ulrich.ppt"
If Dir(sFile) <> "" Then
dProgID = Shell("powerpnt.exe /s " & sFile, vbMaximizedFocus)
AppActivate dProgID, True
Else
Beep
MsgBox "die Datei " & sFile & " existiert nicht!"
Exit Sub
End If
End Sub

Gruss Hansueli
Anzeige
AW: Powerpoint starten
27.09.2005 12:06:08
Reinhard
Hallo Hansueli
Klappt leider auch nicht wirklich, Excel bricht das Makro mit einem Runtime-Error 5 ab. Der Fehler kommt in der Zeile
AppActivate dProgID, True
lösche ich das "/s" in der Zeile darüber, dann läuft es ohne Fehler, nur wartet Excel halt nicht (sollte es nicht trotzdem?) und die Präsentation wird im Editiermodus geöffnet
Ciao
Reinhard
AW: Powerpoint starten
27.09.2005 10:35:37
Reinhard
Hab' grad eine Lösung gefunden. Ist vielleicht nicht wirklich elegant aber funktioniert. Sollte jemand Verbesserungen wissen, bitte mir schreiben.

Sub PowerPointStarten()
Dim ppApp As Object
Dim ppP As Object
Dim sFile As String
Dim lastslideseen As Integer
Dim slidecount As Integer
sFile = ThisWorkbook.Path & "\3ulrich.ppt"
If Dir(sFile) = "" Then
MsgBox "die Datei " & sFile & " existiert nicht!"
Exit Sub
End If
Set ppApp = CreateObject("PowerPoint.Application")
ppApp.Visible = msoTrue
Set ppP = ppApp.Presentations.Open(sFile)
ppP.SlideShowSettings.Run
slidecount = ppApp.ActivePresentation.slides.Count
Do
lastslideseen = ppApp.slideshowwindows(1).View.currentshowposition
slidecount = ppApp.ActivePresentation.slides.Count
If lastslideseen > slidecount Then Exit Do
Loop
MsgBox "Fertig", vbOKOnly ' oder was halt danach passieren soll...
ppApp.Quit
Set ppP = Nothing
Set ppApp = Nothing
End Sub

Ich warte einfach, bis der letzte Slide vorbei ist (der schwarze Bildschirm mit "End of slide show. Click to exit" trägt eine Nummer höher als die Anzahl an Seiten).
Ciao
Reinhard
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige