Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1456to1460
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
Inhaltsverzeichnis

Warten bis das Speichern einer Datei abgeschlossen

Warten bis das Speichern einer Datei abgeschlossen
13.11.2015 11:46:43
Sabrina
Hallo Leute,
ich habe eine Datei namens Daten.xls, auf die mehrere Rechner per Makro zugreifen, bearbeiten und speichern.
Es soll aber kein Speichern möglich sein wenn ein anderer gerade eben diese Datei am speichern ist da dann eine Fehlermeldung und ein Abbruch des Markos einhergeht.
Um dies zu verhindern habe ich mir gedacht einen "Speicherstatus" zu deklarieren.
Wenn keiner speichert ist der Wert 1 sobald einer speichert ist der Wert 2 und wenn man fertig ist wird er wieder auf 1 gesetzt.
Nur bekomme ich nicht hin dass wenn der Status auf 2 Steht solange geprüft wird bis der Wert auf 1 geändert ist und dann das Makro weiter ausgeführt wird.
Ich habe mal eine Beispiel Datei erstellt.
https://www.herber.de/bbs/user/101487.zip
In meinen normalen Daten ist sichergestellt dass die Datei Daten.xls auch geöffnet ist.
Oder hat jemand eine andere Idee dies umzusetzen.
LG
Sabbel
Sub Daten_speichern()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Windows("Daten.xls").Activate
Speicherstatus = Range("Speicherstatus")
If Speicherstatus = 2 Then
MsgBox "Bitte warten!"
End If
Speicherstatus = 2
'Das Makro wird durchgeführt
Speicherstatus = 1
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Warten bis das Speichern einer Datei abgeschlossen
14.11.2015 14:08:56
Tino
Hallo,
man könnte es mal so versuchen, wenn das Speichern auf einen Fehler läuft,
diesen Speicher Vorgang zu wiederholen bis kein Fehler mehr erzeugt wird oder
dieser nach drei versuchen nicht funktioniert hat.
Nicht ausgiebig getestet!
kommt als Code in DieseArbeitsmappe
Option Explicit 
Dim CountSave% 
 
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 
On Error Resume Next 
If Not SaveAsUI Then 
    If Me.ReadOnly = False Then 
        Application.EnableEvents = False 
        Me.Save 
        Cancel = True 
        If Err.Number <> 0 Then 
            CountSave = CountSave + 1 
            If CountSave > 2 Then 
                MsgBox "Speichern nach " & CountSave & " versuchen gescheitert", vbExclamation 
                CountSave = 0 
                Application.EnableEvents = True 
                Exit Sub 
            End If 
            Application.OnTime Now + TimeSerial(0, 0, 1), "'DieseArbeitsmappe.Workbook_BeforeSave ""0"", ""0""'" 
            Exit Sub 
        End If 
        CountSave = 0 
        Application.EnableEvents = True 
    Else 
        CountSave = 0 
        MsgBox "Datei ist Schreibgeschützt, speichern nicht möglich!", vbExclamation 
    End If 
End If 
End Sub 
Gruß Tino
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige