Ich habe hier einen Code aus diesem genialen Forum "geklaut" und etwas angepasst.
Sub Master_Test_offen()
Dim iOpen As Integer
Dim sFile As String
sFile = ThisWorkbook.Worksheets(1).Range("C3").Value
Do While Test_offen(sFile) = 1
Loop
Workbooks.Open sFile
End Sub
Private Function Test_offen(sPath As String) As Integer
If Dir(sPath) = "" Then
TestOpen = 2
Else
On Error GoTo ERRORHANDLER
Open sPath For Random Access Read Lock Read Write As #1
Close #1
End If
ERRORHANDLER:
If Err = 70 Then Test_offen = 1
End Function
Sub Master_schliessen()Application.CutCopyMode = False
Application.Wait (Now + TimeValue("0:00:01"))
Workbooks("xyz.xlsm").Close True
Application.Wait (Now + TimeValue("0:00:02"))
End Sub Ich möchte eine Datei erst dann durch andere Anwender öffnen lasen, wenn sie tatsächlich geschlossen ist.
Es kann dabei ja vorkommen, dass mehrere Personen fast gleichzeitig die Masterdatei öffnen wollen.
Ich weiß - das Thema ist nicht neu.
Wenn dann Daten in die Master-Datei geschrieben wurden kommt die Aufforderung, die schreibgeschützte Datei unter einem anderen Namen zu speichern.
Wartet der Code oben doch nicht, bis die Haupt-Datei tatsächlich zu ist?
Gruß und Danke schon mal vorab.
Werner