Benachrichtung wenn Datei verwendet wird
17.02.2015 15:24:25
Maren
ich weiß einfach nicht mehr weiter und brauche eure Hilfe!
Eine Datei (Angebote_2015.xlsm) liegt in einem Ordner (Test) und wird mittels VB-Script geöffnet. Da die Datei von mehreren Bearbeitern verwendet wird, soll eine Meldung ausgegeben werden, wenn die Datei bereits geöffnet ist.
Folgende Codes habe ich mir anhand von Beiträgen in Foren zusammengestellt:
Variante I
Public Function Datei_in_Benutzung(Dateiname As String) As Boolean
On Error Resume Next
Close #1
Open Dateiname For Random Access Read Lock Read Write As #1
Datei_in_Benutzung = Err.Number 0
Close #1
End Function
Public Sub Testen()
MsgBox "Die Angebotsliste wird gerade von einem anderen Bearbeiter benutzt!
Datei_in_Benutzung ("c:\Test\Angebote_2015.xlsm")
End Sub
Variante II
Public Function DokumentGeoeffnet(Name As String) As Boolean
On Error Resume Next
DokumentGeoeffnet = Not CBool(Name Application.Workbooks(Name).Name)
End Function
Public Sub Test()
If DokumentGeoeffnet("Angebote_2015.xlsm") Then
Else
End If
End Sub
Beide Varianten funktionieren nur beim Kompilieren - aber nicht, wenn die Datei geöffnet wird, obwohl diese von einem anderen Benutzer bearbeitet wird. Was mache ich falsch?