2017-06-10 4 views
0

ich versuche, eine csv open excel automatisch jede Sekunde zu speichern, es funktioniert gut, aber das Problem ist auf jeder speichern, wenn ich Open 2 Excel oder die gleiche Datei haben erscheint und verschwindet ich will Speichern Sie es in einem Hintergrund nicht sicher, wie es geht, machte ich Application.DisplayAlerts = False Ad false immer noch nicht funktioniert.VBA stop refreshing excels on auto speichern

Sub SaveThis() 
Application.DisplayAlerts = False 
ThisWorkbook.Save 
Application.DisplayAlerts = False 

Application.OnTime Now + TimeValue("00:00:01"), "SaveThis" 
End Sub 

Aktualisiert-Code

Sub SaveThis() 
Application.DisplayAlerts = False 
Application.EnableEvents = False 
ThisWorkbook.Save 
Application.DisplayAlerts = True 
Application.EnableEvents = True 


Application.OnTime Now + TimeValue("00:00:01"), "SaveThis" 
End Sub 
+0

Verwenden Sie auch '.EnableEvents' – 0m3r

+0

Ich tat es immer noch die gleichen – Shaik

+0

Möchten Sie wirklich jede Sekunde speichern? Wie wäre es nur zu speichern, wenn die Datei geändert wird? – Jaycal

Antwort

1

diesen Code Versuchen.

With ThisWorkbook 
    If Not .Saved Then .Save 
End With 

Die Idee ist, dass die Hardware nicht mit der Geschwindigkeit folgen kann, die Sie fordern. Dieser Code wird die Häufigkeit der Speicherung auf die Häufigkeit der Änderungen verlangsamen. Daher wird der Code das Problem nicht beheben, wenn sich Änderungen in der Rate von 1 pro Sekunde befinden.

Es gibt jedoch keinen guten Grund, die Arbeitsmappe so oft zu speichern, es sei denn, Sie erwarten einen Absturz des Systems. In diesem Fall würde die automatische Wiederherstellung von Excel eine Sicherung erstellen. Eine andere Möglichkeit ist, dass Sie jede Sekunde separate Kopien der Änderungen wünschen. Ihr Code versucht das nicht, und ich bezweifle, dass Ihre Hardware mithalten kann.

Auch wenn Sie die Arbeitsmappe mehrere Male pro Sekunde ändern, wird es ausreichen, es in viel längeren Intervallen zu speichern. Bedenken Sie, dass der Zweck des Speicherns darin besteht, die Daten zu sichern. Wenn Sie die Hardware auf die von Ihnen vorgeschlagene Art und Weise ansprechen, besteht die Gefahr, dass sie gefährdet wird.