Herbers Excel-Forum - das Archiv

Workbook automatisch schliessen

Bild

Betrifft: Workbook automatisch schliessen
von: Mister B

Geschrieben am: 04.01.2007 16:20:46
Hallo Profis!
Jeden Abend um 20:00 öffnet sich meine Datei automatisch (Windows - Geplante Tasks) und die OnTime Funktion führt ein Makro aus. Hier mein Makro.
Private Sub Workbook_Open()
Application.OnTime TimeValue("20:00:00"), "CheckListeDrucken"
End Sub

Sub CheckListeDrucken()
Dim strText As String, Antwort As Byte
strText = "Möchten Sie die Check Liste für Morgen drucken?"
Antwort = MsgBox(strText, vbYesNo + vbQuestion, "Erinnerung")
If Antwort = vbYes Then
Application.ScreenUpdating = False
Sheets("CheckListe").Unprotect
Sheets("CheckListe").Range("B3") = Date + 1
Sheets("CheckListe").Protect
Sheets("CheckListe").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End If
Sheets("Startseite").Select
Application.ScreenUpdating = True
Application.DisplayAlerts = False
BlendIn
ActiveWorkbook.Close savechanges:=True
Application.DisplayAlerts = True
End Sub
Das Problem liegt darin, dass Excel beim schliessen immer noch fragt ob gespeichert werden soll. Woran kann das liegen? Ich möchte nur dass Excel speichert und schliesst ohne nachzufragen. Hat jemand eine Idee wo ich falsch abgebogen bin?
Gruß
Mister B
Bild

Betrifft: AW: Workbook automatisch schliessen
von: Ramses
Geschrieben am: 04.01.2007 16:45:19
Hallo
Schreib mal
Call BlendIn
Hast du noch ein Workbook_Close, Workbook_BeforeSave o.ä. Ereignis wo noch irgendwas gemacht wird?
Denn ansonsten sollte das tun.
Gruss Rainer
Bild

Betrifft: AW: Workbook automatisch schliessen
von: Mister B

Geschrieben am: 04.01.2007 17:15:45
Hallo Rainer,
Danke für deine Antwort. Ein Makro Workbook_BeforeClose hab ich auch. Kann man dies irgendwie umgehen sodass die Prozedur Sub CheckListeDrucken Excel direkt schliesst? Ich möchte das Excel automatisch um 20:00 gestartet , das Makro ausgeführt und Excel wieder geschlossen wird.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
With ThisWorkbook
If Not .Saved Then
Select Case MsgBox("Sollen Ihre Änderungen in ''" & .Name & "''" & _
" gespeichert werden?", vbYesNoCancel + vbQuestion, "Abfrage")
Case vbCancel
Cancel = True
Exit Sub
Case vbNo
.Saved = True
Case vbYes
BlendIn
.Save
End Select
End If
End With
End Sub

Gruß
Mister B
Bild

Betrifft: AW: Workbook automatisch schliessen
von: Ramses

Geschrieben am: 04.01.2007 17:21:51
Hallo
"...das Excel automatisch um 20:00 gestartet , das Makro ausgeführ..."
Das kann nicht funktionieren, weil du eine MSG-Box davor stellst.
Ausserdem kannst du das ganze Workbook_Close Ereignis löschen, das macht das gleiche wie dein anderer Code.
deinen anderen Code kannst du in das Workbook_Open-Ereignis kopieren OHNE die MSG-Box Zeilen,... dann geht es wirklich automatisch.
Gruss Rainer
 Bild
Excel-Beispiele zum Thema "Workbook automatisch schliessen"
Fehler in Workbook_Open-Prozedur abfangen Arbeitsmappe anlegen und Workbook_Open-Prozedur schreiben
Aufhebung der Workbook_Open-Befehle verhindern Workbook_Open-Prozedur beim VBA-Aufruf ausschalten
Automatische Datumformatierung unterdrücken Automatisch Sicherungsdatei erstellen
Automatisches Komplettieren einer Zelleingabe Zelleingaben automatisch auf volle 1,2-Teile runden
Tabelle nach Datumseintrag automatisch sortieren Eingaben in B:D automatisch mit 6 multiplizieren