Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Presentations.Close-Methode
zurück: Powerpoint 2013'er Interaktive Präsentation in "vor 200 weiter: Gesamtseitenzahl in Fußzeile einfügen?!?! Probleme mit Code! Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
ChristianXy
Gast


Verfasst am:
03. März 2014, 13:04
Rufname:

Presentations.Close-Methode - Presentations.Close-Methode

Nach oben
       Version: Office 2010

Hallo zusammen,

Wie kann ich eine Powerpoint-Datei vollständig Schließen, ohne dabei die Applikation mit zu schließen (alle anderen Powerpoint-Dateien sollen geöffnet bleiben)?

Hintergrundinformationen:
ich nutze eine Vollbild-Powerpoint-Präsentation (.ppsm) im Kiosk-Modus zur Programmsteuerung (Schlussendlich wird eine andere Datei geöffnet).
Egal welche der Funktionen dieser .ppsm genutzt wird, als letzter Punkt wird die Datei selbst geschlossen und die neue Datei aktiviert.

Zum Schließen verwende ich folgenden Algorithmus:

Code:
Sub Beenden()
    Dim pres As PowerPoint.Presentation
    Dim i As Integer
    For Each pres In PowerPoint.Presentations
        i = i + 1
    Next
    If NamePräs = vbNullString Then NamePräs = ActivePresentation.Name
    Presentations(NamePräs).Saved = True
    If i > 1 Then
        Presentations(NamePräs).Close
    Else
        Application.Quit
    End If
End Sub

NamePräs ist dabei ein globaler String, der mit dem Namen der .ppsm belegt wird, wenn während des Programmdurchlaufs eine weitere Präsentation geöffnet wird. Wenn mehrere Powerpoint-Dateien offen sind, dann wird über Presentations.Close die Steuerungsdatei geschlossen (funktioniert erstmal so wie es soll). Im weiteren Verlauf wird von einer Excel-Datei aus aber nun eine Powerpoint-Datei über folgenden Code geöffnet:

Code:
Dim PPT As Object
Set PPT = CreateObject("PowerPoint.Application")
PPT.Visible = True
PPT.Presentations.Open Filename:=ActiveWorkbook.Path & "\..\Vorlagen\Präsentationsvorlage.ppt"
PPT.Presentations("Präsentationsvorlage.ppt").Windows(1).Activate


Hier taucht das Problem auf. Beim Ausführen von "PPT.Visible = True" wird die anfangs benutzte .ppsm-Datei im normalen Powerpoint-Bearbeitungsfenster wieder angezeigt.

Ein wenig Rumprobieren hat folgendes ergeben:
Schließen der Datei über Presentations.close scheint die Datei nur unsichtbar zu machen, im Hintergrund ist Sie aber noch da. Wenn ich in einer anderen offenen Powerpoint-Datei im Direktfenster Application.Visible = True ausführe, dann wird die Datei wieder aktiviert. Außerdem ist im VBA-Editor ersichtlich, dass die Datei noch nicht geschlossen ist, da sie dort inkl. enthaltenem Quellcode aufgeführt wird.

Hatte schonmal jemand das selbe Problem und kann mir helfen?

Gruß,
Christian
Gast



Verfasst am:
04. März 2014, 10:12
Rufname:


AW: Presentations.Close-Methode - AW: Presentations.Close-Methode

Nach oben
       Version: Office 2010

Ich habe den Code wie folgt modifiziert und nun funktioniert es so, wie ich es soll.
Scheinbar tritt das Problem auf, wenn eine sich nicht im Vordergrund befindliche Vollbild-Präsentation geschlossen werden soll.

Code:
Sub Beenden()
    Dim pres As PowerPoint.Presentation
    Dim i As Integer
    For Each pres In PowerPoint.Presentations
        i = i + 1
    Next
    If NamePräs = vbNullString Then NamePräs = ActivePresentation.Name
    Presentations(NamePräs).Saved = True
    If i > 1 Then
        Presentations(NamePräs).Close
        Application.Visible = True 'unsichtbare noch offene Präsentation wieder in den Vordergrund holen
        Application.Activate 'Powerpoint aktivieren
        If ActivePresentation.Name = NamePräs Then ActivePresentation.Close 'Die aktive Präsentation schließen
    Else
        Application.Quit
    End If
End Sub
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Editor Forum