ist folgendes mit Excel realisierbar?:
Ich habe eine geöffnete Datei und möchte, dass diese automatisch geschlossen wird, wenn diese länger als 2 Minuten nicht verändert/benutzt wurde!
Vielen Dank für Eure Tipps!
Gruss Steph@n
ist folgendes mit Excel realisierbar?:
Ich habe eine geöffnete Datei und möchte, dass diese automatisch geschlossen wird, wenn diese länger als 2 Minuten nicht verändert/benutzt wurde!
Vielen Dank für Eure Tipps!
Gruss Steph@n
EINFÜGEN - MODUL
Code in Modul:
Sub Schließen()
ActiveWorkbook.Close savechanges:=True
End Sub
Viel Erfolg
Klaus-Martin
mit benutzt meine ich, auch wenn jemand nichts an irgendwelchen Zellen ändert, kann es ja trotzdem sein, dass er zwischen Sheets hin und her spring, oder innerhalb eines Blattes scrollt. Ist das der Fall, darf die Datei auch nicht geschlossen werden!
könntest Du mir mal aufzeigen wie ein Coding aussehen müsste, mit dem ich die globale Variable mit der entsprechenden Zeit fülle, sobald ein SelectionChange- bzw. Change-Ereignis eintritt?
Habe mir mal in der Excel-Hilfe die OnTime Geschichte angeschaut und folgendes Coding gefunden:
Application.OnTime Now + TimeValue("00:00:15"), "meine_Prozedur"
Mir ist jedoch nicht ganz klar, wie ich dieses Coding verwende! Muss ich das in eine Prozedur einbinden oder bleibt das alleine stehen? Wo muss ich das Coding verwenden (in einem Modul, oder in "DieseArbeitsmappe")?
Vielen Dank für Deine Hilfe!
Gruss Stephan
Die Routine zum schliessen kannst Du entweder in "DieseArbeitsmappe" stellen oder in ein Modul.
cu
BCM
Vielen Dank für das Coding! Habe gerade mal versucht, es zu verinnerlichen, brauche aber nochmal einen Denkanstoss!
Du setzt zuerst die Variable "neuezeit" um 2 Minuten herauf!
Danach sagst Du ihm, welche Prozedur ausgeführt werden soll, wenn die Zeit in "altezeit" erreicht wurde! (warum das???)
Dann setzt Du "altezeit" gleich "neuezeit"!
Danach sagst Du ihm, welche Prozedur ausgeführt werden soll, wenn die Zeit in "neuezeit" erreicht wurde!
Ich habe noch nicht ganz verstanden, warum Du 2mal die OnTime-Geschichte ausführst mit jeweils unterschiedlichen Variablen!
Gruss Stephan
...nur mal ganz nebenbei angemerkt ;-). Wenn Du damit erreichen willst, dass ein anderer Benutzer diese Datei dann öffnen kann, wenn diese länger nicht benutzt wird --- hast Du dir dann schon einmal die Möglichkeit angesehen, eine Freigabe auf diese Arbeitsmappe einzurichten; dann kann diese von mehreren Benutzern gleichzeitig bearbeitet werden...
Aber -wie gesagt- das nur so nebenbei...
Gruß, Karsten
danke für die Tipps! Kannst Du mir u.U. auch die Frage beantworten, die ich Martin zu seinem Coding noch gestellt habe?
Gruss Stephan
Gruss Stephan
den Dialog findest Du unter dem Menüpunkt "Extras-Arbeitsmappe freigeben" (jedefalls bei XL97). Dort findest Du auch die Einstellungen zur "automatischen Speicherung alle XXX Minuten" sowie die Einstellungen für die Änderungsprotokollierung.
Die Hilfe zu diesem Thema ist übrigens auch ganz gut.
Wenn Du dann noch Fragen hast, meld dich einfach noch mal...
Gruß, Karsten
P.S.: ...klappt meiner Erfahrung nach übrigens nur vernünftig, wenn alle mit der gleichen XL-Version (ab 97 aufwärts) arbeiten...
Gruss Stephan
Um eine Excel-Datei automatisch zu schließen, wenn sie länger als eine bestimmte Zeit inaktiv ist, kannst Du den folgenden VBA-Code verwenden. Dieser Code wird in der Arbeitsmappe eingefügt:
ALT + F11
, um den VBA-Editor zu öffnen.Dim letzteAktivitaet As Date
Dim schliesszeit As Date
Private Sub Workbook_Open()
letzteAktivitaet = Now
schliesszeit = Now + TimeValue("00:02:00") ' 2 Minuten
Application.OnTime schliesszeit, "Schliessen"
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
letzteAktivitaet = Now
schliesszeit = Now + TimeValue("00:02:00")
Application.OnTime schliesszeit, "Schliessen"
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object)
letzteAktivitaet = Now
schliesszeit = Now + TimeValue("00:02:00")
Application.OnTime schliesszeit, "Schliessen"
End Sub
Sub Schliessen()
If Now > schliesszeit Then
ThisWorkbook.Close SaveChanges:=True
Else
schliesszeit = Now + TimeValue("00:02:00")
Application.OnTime schliesszeit, "Schliessen"
End If
End Sub
Excel Macro-Enabled Workbook (*.xlsm)
.Die oben genannten Schritte helfen dabei, eine Excel-Datei automatisch zu schließen, wenn sie länger als die festgelegte Zeit inaktiv ist.
Fehler: Excel schließt sich von alleine oder schließt nicht.
Fehler: Der Code wird nicht ausgeführt.
Eine andere Möglichkeit, um eine Excel-Datei automatisch zu schließen, besteht darin, die Funktion "Automatische Speicherung" zu verwenden:
Diese Methode sorgt jedoch nicht dafür, dass die Datei geschlossen wird, sondern speichert nur automatisch.
Hier sind einige Beispiele zur Anwendung des Codes:
Workbook_BeforeClose
-Ereignisse, um Benutzern eine Warnung anzuzeigen, bevor die Datei geschlossen wird.1. Frage
Wie kann ich die Zeit ändern, nach der die Excel-Datei automatisch geschlossen wird?
Antwort: Ändere einfach den Wert in der Zeile schliesszeit = Now + TimeValue("00:02:00")
auf die gewünschte Zeit (z.B. "00:05:00"
für 5 Minuten).
2. Frage
Was passiert, wenn ich die Excel-Datei nicht speichere, bevor sie geschlossen wird?
Antwort: Der Code speichert die Datei automatisch, da SaveChanges:=True
im Schließbefehl verwendet wird.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen