erkennen, ob Datei in Benutzung ist
 |
Betrifft: erkennen, ob Datei in Benutzung ist
von: John
Geschrieben am: 17.09.2004 10:18:37
Hallo zusammen,
es müßte doch per Makrobefehl möglich sein, festzustellen, ob eine Datei in Benutzung ist, oder?
Im konkreten fall liegt die Datei "G:\test.xls" auf einem Netzlaufwerk und kann daher von mehrern Personen geöffnet werden.
Ich möchte nun von meinem Makro prüfen lassen, ob diese Datei gerade von jemand anders geöffnet ist. Wenn dies der Fall ist, soll eine Fehlermeldung erscheinen. Hat jemand eine Idee?
Danke im Voraus!
Gruß,
John
Betrifft: AW: erkennen, ob Datei in Benutzung ist
von: ransi
Geschrieben am: 17.09.2004 10:24:44
hallo john
schau dir mal userstatus an.
könnte sein was du brauchst.
ransi
Betrifft: AW: erkennen, ob Datei in Benutzung ist
von: John
Geschrieben am: 17.09.2004 11:29:01
Hi ransi,
danke für den Hinweis, aber ich glaube, userstatus funktioniert nur bei einer Datei, die auf dem eigenen PC bereits geöffnet ist ("activeworkbook" oder von mir auch "workbooks(diesedateiistoffen.xls)"). Soweit ich weiß, kann man den userstatus einer Datei, die auf dem eigenen PC nicht geöffnet ist("C:\datei.xls"), allerdings nicht abgefragt werden.
Trotzdem danke!
Gruß,
John
Betrifft: AW: erkennen, ob Datei in Benutzung ist
von: Matthias G
Geschrieben am: 17.09.2004 10:30:37
Hallo John,
hab ich hier aus dem Forum:
Function DateiInBearbeitung(s As String) As Boolean
On Error Resume Next
Open s For Binary Access Read Lock Read As #1
Close #1
If Err.Number <> 0 Then
DateiInBearbeitung = True
Err.Clear
End If
End Function
Gruß Matthias
Betrifft: AW: erkennen, ob Datei in Benutzung ist
von: John
Geschrieben am: 17.09.2004 11:31:58
Hi Matthias,
das klingt theoretisch so, als müßte es funktionieren.. tut es aber aus irgendeinem Grund nicht, ich bekomme als Ergebnis von DateiInBearbeitung immer nur "Falsch", selbst wenn sie über Netzwerk von einem anderen PC aus geöffnet ist. Seltsam... vielleicht hängt's irgendwie mit der open-Methode zusammen...
Trotzdem danke!
Gruß,
John
Betrifft: AW: erkennen, ob Datei in Benutzung ist
von: John
Geschrieben am: 17.09.2004 13:07:37
Kommando zurück, ich hab's!
Ich hab' einfach die Zeile
Open s For Binary Access Read Lock Read As #1
geändert in
Open s For Output As #1
und schon hat's gefunzt. :)
Vielen Dank nochmal.
Gruß,
John
Betrifft: AW: erkennen, ob Datei in Benutzung ist
von: Matthias G
Geschrieben am: 17.09.2004 13:18:27
Hallo John,
und das überschreibt nicht die bestehende Datei, wenn sie nicht geöffnet ist, also wenn kein Fehler kommt?
Gruß Matthias
Betrifft: AW: erkennen, ob Datei in Benutzung ist
von: John
Geschrieben am: 17.09.2004 13:39:22
Aaaaaargh, doch, genau das passiert... Mist Mist Mist Mist Miiiiist!!!
Betrifft: AW: erkennen, ob Datei in Benutzung ist
von: Matthias G
Geschrieben am: 17.09.2004 13:47:26
Hallo John,
ich hoffe, du hattest jetzt keinen eklatanten Datenverlust...
obwohl es sich so anhörte... :-(
Gruß Matthias
Betrifft: AW: erkennen, ob Datei in Benutzung ist
von: John
Geschrieben am: 17.09.2004 13:52:28
Nö, keine Bange, ich hab' glücklicherweise nur mit Testdateien rumgespielt...
Der Ärger entstand nur dadurch, weil ich gedacht hatte, es würde endlich funktionieren und jetzt wieder am Anfang stehe...
Oh Mann, wird Zeit fürs Wochenende.. *l*
Gruß,
John
Betrifft: AW: erkennen, ob Datei in Benutzung ist
von: John
Geschrieben am: 17.09.2004 14:12:49
Jetzt aber...
Ich glaube, der "open"-Befehl muß lauten
Open s For Binary Access Read Lock Write As #1
Damit scheint's zu funktionieren.. liefert korrektes Ergebnis und überschreibt die Datei bei negativer Prüfung nicht.
Gruß,
John