Dateien können mehrfach geöffnet/bearbeitet werden
#1
Hallo zusammen,

wir haben in der Arbeit dieses Problem:
https://administrator.de/forum/excel-dat...57461.html

Der Beitrag ist bereits über 10 Jahre alt, eine Lösung gab es damals nicht. Bei uns tritt das Phänomen auch gelegentlich auf, dass 2 Benutzer eine Datei gleichzeitig öffnen können, ohne dass sie von einander merken. Der letzte der speichert, überschreibt leider die Daten des anderen.

- Die Datei liegt am Netzlaufwerk, nicht auf Sharepoint
- gemeinsames Bearbeiten ist nicht aktiviert
- Das Problem tritt gefühlt 1 von 10 mal auf, normal kommt das übliche "Datei ist von einem anderen Benutzer gesperrt"

Kennt noch jemand das Problem? Ich glaube auch nicht, dass es per se nur Exceldateien betrifft, allerdings sind das die einzigen, die gleichzeitig von mehreren Anwendern geöffnet werden.
Schöne Grüße
Berni
Top
#2
Hallo,

eine Antwort habe ich nicht, aber interesse das Thema zu untersuchen:

Wie wäre es eine Prüfung einzubauen und falls diese "nicht geöffnet" anzeigt, möglichst viele Informationen zu sammeln.

Prüfung, ob Datei geöffnet ist:

Code:
Public Function IsFileLocked(FileDir As String, FileName As String) As Boolean
On Error Resume Next
Dim FF As Integer

FF = FreeFile
Open FileDir & FileName For Binary Access Read Lock Read As #FF
Close #FF

If Err.Number Then
    Err.Clear
    IsFileLocked = True
End If
End Function

Zusätzlich kann die temporäre Kopie geprüft werden:

FSO.FileExist(Pfad & "~$" & Dateiname)

Außerdem die Prozesse:

CMD: tasklist /v | find "EXCEL.EXE"

(in PS sehr ähnlich)

In Word kann VBA die Prozesse ("Task") auslesen.

Damit kann man die Fälle, in denen die Excel-Datei nicht gespert ist gut identifizieren.

mfg

---------------------------------------------

Das kann ich mangels Server nicht testen: CMD: Net Files

Running the command
To run the command, open a command prompt on your Windows server. You can’t run it from your administration workstation. The Net Files command only works on the server you’re running it on, not across multiple servers. So check with the user first to find out what server he or she is loading the files from. If the user doesn’t know, just ask for the drive letter and check your drive mapping documentation to find the server on which to run the command.

At the command prompt, type net files and press [Enter]. You’ll see a list of files appear onscreen broken down into four columns: ID, Path, User Name, and # Locks. You’ll need the ID number to close the file. The Path column shows you the name and directory location of any open files on your server. The User Name column reflects the user ID of the person who has the file open. Finally, the # Locks column shows you if the file is locked.
Top
#3
-------------------------------------------

Damit kann eine Datei sich selbst testen, ob die "Schatten-Kopie" angelegt wurde:

Code:
Im Code "DieseArbeitsmappe"

Private Sub Workbook_Open()
Debug.Print Timer
Application.OnTime Now + TimeValue("00:00:05"), "'Selbst_Test'", , True
End Sub

==============================

In einem Modul:

Sub Selbst_Test()

If Dir(ThisWorkbook.Path & "\~$" & ThisWorkbook.Name, vbHidden) = "" Then MsgBox "Fehler"

End Sub

Im Falle eines Fehlers müßten möglichst viele Daten über den Zustand in ein Log-File geschrieben werden.
Top
#4
Hi Fennek,

danke für deinen Input, ich werde das mal testen. Das wird naturgemäß etwas dauern, ich gebe dann gerne Rückmeldung.
Schöne Grüße
Berni
Top
#5
Hallo Fennek,

ich gebe das Thema nun an unsere IT-Abteilung weiter, da ich tatsächlich nicht einsehe, wieso ich mich damit beschäftigen soll. Mir fehlt einfach auch die Zeit dazu.
Trotz allem danke ich dir für deinen Beitrag!
Schöne Grüße
Berni
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste