Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
336to340
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Prüfung, ob Datei bereits geöffnet

Prüfung, ob Datei bereits geöffnet
11.11.2003 16:18:02
Monika
Hallo,
wie kann ich beim Öffnen einer Arbeitsmappe feststellen, ob die Datei bereits von einem anderen Benutzer geöffnet ist??

Vielen Dank

Moni

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfung, ob Datei bereits geöffnet
11.11.2003 16:43:26
Klaus
Hallo Moni, Du kannst abfragen, ob die Datei schreibgeschützt geöffnet wurde (was der Fall ist, wenn sie ein anderer bereits offen hat):

Dim Wb As Workbook
Set Wb = Workbooks.Open("c:\temp\test.xls")
If Wb.ReadOnly = True Then
...
end if

mit
user = Wb.WriteReservedBy

kannst Du sogar herausfinden, wer die Datei geöffnet hat (sofern der Benutzername unter Optionen, Allgemein - richtig gepflegt ist).

Gruß
Klaus
Abfrage, w e r Datei bereits geöffnet hat
12.11.2003 08:46:00
WernerB.
Hallo Klaus,

die Funktion "WriteReservedBy" kannte ich bisher noch nicht. Ich habe damit jetzt eine wenig herumexperimentiert, komme aber auf keinen grünen Zweig.

Ein Kollege hat auf meinen Wunsch eine bestimmte Excel-Datei geöffnet.
Nun versuche ich mittels "WriteReservedBy" mir anzeigen zu lassen, dass er sie bereits geöffnet hat.
Wenn ich die Datei danach auch noch (schreibgeschützt) öffne, wird mein Name ausgegeben; wenn ich sie nicht öffne, läuft das Makro immer auf einen Fehler.

Wie sollte die Makro-Sequenz denn aussehen, mit der ich feststellen kann, wer eine bestimmte Datei im Netzwerk bereits geöffnet hat (möglichst ohne sie zuvor selbst öffnen zu müssen)?

Auf eine kompetente Antwort bin ich gespannt.

Gruß WernerB.
Anzeige
AW: Prüfung, ob Datei bereits geöffnet
12.11.2003 07:44:53
WernerB.
Hallo Monika,

mit diesem Makro und der zugehörigen benutzerdefinierten Funktion kannst Du feststellen, ob die Datei im Netzwerk bereits geöffnet ist:

Option Explicit

Function DateiIstFrei(sDateiname As String) As Boolean
Dim hFile As Integer
On Error Resume Next
hFile = FreeFile()
Open sDateiname For Random Access Read Lock Read Write As #hFile
If Err Then
DateiIstFrei = False
Else
DateiIstFrei = True
End If
Close #hFile
End Function


Sub DateiZustand2()
Dim Pfad As String
Pfad = "D:\Eigene Dateien\Tabellen\Privat\MappeA.xls"
If DateiIstFrei(Pfad) = False Then
MsgBox "Datei ist bereits geöffnet !"
Else
MsgBox "Datei ist z.Zt. nicht geöffnet !"
End If
End Sub

Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).
Anzeige
Vielen Dank!
12.11.2003 08:49:27
Moni
Hallo Klaus, Hallo Werner,

Vielen Dank Euch, es funktioniert.

PS an Werner: Ich gebe immer eine Rückmeldung. Ich habe die Frage gestern 2 Minuten vor Feierabend gestellt und bin gerade erst wieder gekommen und habe die Antworten gelesen.

Viele Grüße von

Moni
AW: Vielen Dank!
12.11.2003 10:02:22
WernerB.
Hallo Monika,

mit dem Hinweis auf eine Rückmeldung wollte ich Dir nicht zu nahe treten.
Diesen schreibe ich immer standardmäßig zu meinen Erst-Antworten. Dies scheint mir allgemein - in Deinem Fall allerdings wohl eher nicht - für dringend geboten, weil viele Fragesteller sich nach oft mühsam erarbeiteten Antworten nicht mehr melden und man dann als Antwortender nicht weiß, ob der Fragesteller die Antwort überhaupt gelesen hat oder ob es noch irgendwelche Verständnisprobleme gibt, zumal manche Fragestellungen (in Deinem Fall nicht) oft nicht eindeutig formuliert sind.

Gruß WernerB.
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige