05.03.2022, 12:05
(Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2022, 12:32 von CaptainNemo.)
Hallo.
Eine TagesDoku im Internat bleibt über eine längere Zeit geöffnet, auch damit sie schnell verfügbar ist und weil mehrere Personen an ihr arbeiten. Zwischendurch aber auch längere Zeit niemand. Aufgrund dessen, dass einige digital gänzlich unbedarfte Nutzer an der Doku arbeiten, ist es erforderlich, dass sie automatisch zwischenspeichert. Das erledige ich mit -> siehe unten. Beziehungsweise bislang mit der Anweisung "SetStartTime" im Workbook_Open-Code, denn leider speichert Excel mit den unten angezeigten Codes verzögert nach jeder Eingabe.
Ist es hinzukriegen, dass immer nur ein "Timer" läuft, der bei jeder Eingabe auf 0 gesetzt wird? Damit nur nach der vorläufig letzten Eingabe gespeichert wird?
Grüße
Uwe
DieseArbeitsmappe
Allgemeines Modul
Eine TagesDoku im Internat bleibt über eine längere Zeit geöffnet, auch damit sie schnell verfügbar ist und weil mehrere Personen an ihr arbeiten. Zwischendurch aber auch längere Zeit niemand. Aufgrund dessen, dass einige digital gänzlich unbedarfte Nutzer an der Doku arbeiten, ist es erforderlich, dass sie automatisch zwischenspeichert. Das erledige ich mit -> siehe unten. Beziehungsweise bislang mit der Anweisung "SetStartTime" im Workbook_Open-Code, denn leider speichert Excel mit den unten angezeigten Codes verzögert nach jeder Eingabe.
Ist es hinzukriegen, dass immer nur ein "Timer" läuft, der bei jeder Eingabe auf 0 gesetzt wird? Damit nur nach der vorläufig letzten Eingabe gespeichert wird?
Grüße
Uwe
DieseArbeitsmappe
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
SetStartTime
End Sub
Allgemeines Modul
Code:
Dim dblZeit As Double
Sub SetStartTime()
dblZeit = Now + TimeValue("00:01:00")
Application.OnTime dblZeit, "MappeSpeichern"
End Sub
Sub MappeSpeichern()
dblZeit = Empty
Workbook_BeforeSave
'ThisWorkbook.Save
End Sub
Sub Workbook_BeforeSave()
If ThisWorkbook.Path = "" Then
On Error Resume Next
Application.EnableEvents = False
Cancel = True
Application.Dialogs(xlDialogSaveAs).Show "TagesDoku " & ThisWorkbook.Worksheets("Übergabe").Range("B1").Value, 52
Application.EnableEvents = True
On Error GoTo 0
End If
ThisWorkbook.Save
End Sub