Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei schreibgeschützt gesperrt von xxx ?? user ??

Datei schreibgeschützt gesperrt von xxx ? user ?
18.09.2007 07:18:00
xxx
Datei im Netzwerk geöffnet.
Hallo VBA Profis,
hatte eine ähnliche frage gestern schon.
Leider konnte mir nur zum teil geholfen werden.
Würde mich freuen wenn es eine möglichkeit gibt und ihr mir einen Tipp geben könnt.
Ich habe eine Datei im Netzwerk.
Wenn diese Datei durch einen anderen user geöffnet ist kommt immer eine Meldung:
Datei ist zum bearbeiten durch "kennung" gesperrt.
Da sehen ich welche kennung die datei geöffnet hat.
Wie kann ich das via VBA herausbekommen.
So das ich diesen namen dann in eine msgbox bekomme ?
Vielen Dank schon im vorraus !
grüße Chris

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei schreibgeschützt gesperrt von xxx ? user ?
18.09.2007 07:46:00
xxx
Hallo Chris,
das funktioniert so:

Public Function IsFileLocked(strFileName As String) As Boolean
On Error Resume Next
Dim fF As Integer
fF = FreeFile
'An error occurs if the document is currently open.
Open strFileName For Binary Access Read Lock Read As #fF
Close #fF
'Check for Error
If Err.Number Then
Err.Clear
IsFileLocked = True
End If
End Function
Function LastUser(strFileName As String) As String
Dim strText As String
Dim strFlag1 As String, strFlag2 As String, _
fF As Integer
Dim i As Integer, j As Integer
strFlag1 = Chr(0)
strFlag2 = Chr(32) & Chr(32)
fF = FreeFile()
Open strFileName For Binary As #fF
strText = Space(LOF(1))
Get #fF, , strText
Close #fF
j = InStr(1, strText, strFlag2)
i = InStrRev(strText, strFlag1, j) + Len(strFlag1)
LastUser = Mid(strText, i, j - i)
End Function
Sub test1()
MsgBox LastUser("D:\Daten\Excel\Mappe1aaa.xls")
End Sub

Gruß von Luschi
aus klein-Paris

Anzeige
AW: Datei schreibgeschützt gesperrt von xxx ? user ?
18.09.2007 07:52:20
xxx
Hallo Chris,
funktioniert doch nicht so, wie ich dachte.
Damit kann man ermitteln, wer der letzte User war, der die Datei geöffnet hat bzw. hatte.
Also auch dqann, wenn die Mappe garnicht geöffnet ist.
Muß mal weiterforschen.
Gruß von Luschi
aus klein-Paris

AW:würde mich freuen wenn du noch was findest
18.09.2007 08:46:00
chris
Ich las einfach mal offen.
Danke im vorraus !

AW: AW:würde mich freuen wenn du noch was findest
18.09.2007 09:08:00
chris
Danke aber der thread nutzt mir ja nichts.
Genauso wenig wie dem kollegen der in dem Thread geschrieben hat.
Aber ich kann das glaube ich mit last user machen.Beitrag von dem vorgänger.
Wenn es doch noch was nobleres gibt wäre ok.
Danke ich lass einfach einmal offen.
Danke!!!

AW: Datei schreibgeschützt gesperrt von xxx ? use
18.09.2007 09:58:00
xxx
Hi Chris,
Folgendes Makro in DieseArbeitsmappe, sollte das Problem lösen:

Private Sub Workbook_Open()
On Error GoTo add_property
If ThisWorkbook.ReadOnly = True Then
MsgBox "Datei wird wieder geschlossen, weil..." & vbCrLf & _
"BenuterIn  hat die Datei geöffnet!", _
vbOKOnly + vbExclamation, _
"Lock-Check"
ThisWorkbook.Close (False)
Exit Sub
End If
ThisWorkbook.CustomDocumentProperties("LastUser") = Environ("Username")
ThisWorkbook.Save
Exit Sub
add_property:
ThisWorkbook.CustomDocumentProperties.Add _
Name:="LastUser", _
LinkToContent:=False, _
Type:=msoPropertyTypeString, _
Value:=Environ("Username")
Resume Next
End Sub


GreetZ Renee

Anzeige
AW: Datei schreibgeschützt gesperrt von xxx ? use
18.09.2007 11:22:12
xxx
Danke vielmals.
Werde den code gleich testen.
Wenn nichts mehr kommt hat er funktioniert !
Vielen Dank nochmals An ALLE !!!
grüße Chris

AW: noch offen
18.09.2007 12:08:00
chris
Hallo Rene,
habe ein komisches ereigniss..
Wenn ich eine leere datei nehme geht der code.
Aber wenn ich den code in eine vohandene exceldatei kopiere kommt folgender fehler.
Laufzeitfehler 5
Ungültiger Prozeduraufruf oder ungültiges Argument
weißt du was das sein könnte ?

AW: noch offen
18.09.2007 12:14:00
Renee
Hi Chris,
Keine Ahnung, ich kenn ja Deine Datei nicht.
Vielleicht ein Konflikt mit bestehendem Code.
Hält der Debugger an einer bestimmten Stelle? An welcher ?
GreetZ Renee

Anzeige
AW: noch offen
18.09.2007 12:56:00
chris
der fehler kommt hier:
ThisWorkbook.CustomDocumentProperties.Add _
Name:="LastUser", _
LinkToContent:=False, _
Type:=msoPropertyTypeString, _
Value:=Environ("Username")
er sprint von hier runter und dann kommt der fehler.
ThisWorkbook.CustomDocumentProperties("LastUser") = Environ("Username")

AW: noch offen
18.09.2007 13:47:21
Renee
Hi Chris,
Ich weiss nicht, ob das an der Version liegt. Unter Excel 2000 getestet, funktionierts.
Mach mal folgendes,
In die bestehende Mappe:
- Menu - Datei - Eigenschaften - Anpassen:
- Name: LastUser
- Typ: Text
- Wert: xxx
Mappe speichern.
Anschliessend diesen Code in die Mappe, save - schliessen - öffnen - ausprobieren...

Private Sub Workbook_Open()
On Error Resume Next
If ThisWorkbook.ReadOnly = True Then
MsgBox "Datei wird wieder geschlossen, weil..." & vbCrLf & _
"BenutzerIn  hat die Datei geöffnet!", _
vbOKOnly + vbExclamation, _
"Lock-Check"
ThisWorkbook.Close (False)
Exit Sub
End If
ThisWorkbook.CustomDocumentProperties("LastUser") = Environ("Username")
ThisWorkbook.Save
End Sub


GreetZ Renee

Anzeige
AW: noch offen
18.09.2007 14:44:56
chris
Hallo Renee ich lass noch mal offen.
Ich glaube ich hab das Probelm ich weiß nur nicht wie ich es wegbekomme..
Auf der datei war ein Schutz. Also das workbook war geschützt.
Diesen schutz habe ich raus aber wenn ich in das menu:
Menu - Datei - Eigenschaften - Anpassen:
gehe ist der button mit hinzufügen grau hinterlegt also ich kann nichts ändern.
Was könnte das sein ?
Sonst ist soweit ich es sehe kein schutz auf der datei nur die sheets eben .. ?
Danek vielmals Renee ich mach mal zu ich denke du kannst mir da bestimmt helfen !°
Danke

AW: noch offen
18.09.2007 14:47:00
Renee
Hallo Chris,
Dann war das Problem der Arbeitsmappenschutz.
Lass den alten Code OHNE SCHUTZ laufen!
GreetZ Renee

Anzeige
AW: noch offen
18.09.2007 14:56:04
chris
Hab ich schon raus und funzt trotzdem nicht.
Jetzt komischerweiße bei keiner datei mher... :)
Ohmann naja ich mach heute nix mehr.
Danke vielmals !! bekomm ich schon hin.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige