ich verzeifele an folgendem Problem:
Ich habe eine Userform in der Datei Eingabe.xlsm, die die eingebebenen Daten in eine andere Datei (Datenbank.xlsm) speichert. Ich prüfe daher vor dem Speichern, ob die Datei von einem anderen Kollegen z.Zt. geöffnet ist. Sollte dies so sein, erfolgt der Hinweis: "Abbruch! Die Datenbank ist gerade geöffnet.".
Mit dem u.a. Code funktioniert es einwandfrei, aber NUR wenn ich die Datei für Testzwecke selber geöffnet habe. Wenn ein anderer Kollege die Datei geöffnet hat, dann kommt es NICHT zu einem Abbruch, sondern er will eine Kopie der Datenbank.xlsm anlegen.
Woher kommt es, dass es einen Unterschied gibt ob ich die Datei geöffnet habe oder mein Kollege im Netzwerk?
Hat jemand eine Idee?
Danke und Grüße
Code:
Public Function IsWorkbookOpen(strWb As String) As Boolean
On Error Resume Next
IsWorkbookOpen = Not Workbooks(strWb) Is Nothing
End Function
Private Sub CommandButton2_Click()
'Pürfen ob die Datenbank-Datei gerade geöffnet ist
Const strPath As String = "\\z888\Datenbank\"
Const strFile As String = "Datenbank.xlsm"
If IsWorkbookOpen(strFile) Then
MsgBox "Abbruch! Die Datenbank ist gerade geöffnet."
Exit Sub
End If
'Wenn die Datenbank nicht geöffnet ist, dann speichern
Workbooks.Open ("\\z888\Datenbank\Datenbank.xlsm")
With ActiveWorkbook.Worksheets("Daten")
usw.