Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
948to952
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
948to952
948to952
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

application.ontime

application.ontime
13.02.2008 14:47:41
Holger
Hallo,
folgendes Makro sorgt für das Schließen der Datei nach 10 Minuten. wie kann ich verhindern, dass das Ganze weiterläuft, wenn die Datei geschlossen ist. im Moment läuft das so, dass sich die Datei von allein wieder öffnet und dabei auch noch alle anderen offenen Mappen schließt.
unter "diese Arbeitsmappe":
Dim altezeit

Private Sub Workbook_Open()
On Error Resume Next
neuezeit = Time + TimeSerial(0, 10, 0)
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
altezeit = neuezeit
Application.OnTime neuezeit, "Schließen"
End Sub



Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
neuezeit = Time + TimeSerial(0, 10, 0)
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
altezeit = neuezeit
Application.OnTime neuezeit, "Schließen"
End Sub


Makro:
Sub Schließen()
ActiveWorkbook.Close savechanges:=True
End Sub


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: application.ontime
13.02.2008 14:56:04
Rudi
Hallo,
setze das
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
in eine Workbook_beforeclose-Prozedur.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: application.ontime
13.02.2008 15:27:00
Holger
so ähnlich? das geht aber irgendwie nicht...
Dim altezeit

Private Sub Workbook_Open()
On Error Resume Next
neuezeit = Time + TimeSerial(0, 0, 60)
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
altezeit = neuezeit
Application.OnTime neuezeit, "Schließen"
End Sub



Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
neuezeit = Time + TimeSerial(0, 0, 60)
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
altezeit = neuezeit
Application.OnTime neuezeit, "Schließen"
End Sub



Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime EarliestTime:=altezeit, Procedure:="Schließen", Schedule:=False
End Sub


Anzeige
AW: application.ontime
13.02.2008 21:55:00
Daniel
HI
du musst die beiden Variablen altezeit und neuezeit als PUBLIC im allgemeinen Modul deklarieren:

Option Explicit
Public altezeit
Public neuezeit
Sub Schließen()
ActiveWorkbook.Close savechanges:=True
End Sub


noch besser wäre es, wenn du den Variablen bei der Deklaration gleich den richtigen Datentyp (Date) zuweisen würdest.
Gruß, Daniel

AW: application.ontime
14.02.2008 15:13:00
Holger
es funktioniert doch. Danke!

54 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige