Die Datei ist von einem anderen Benutzer geöffnet


3

Hilf mir, eine Frage aufzuspüren.

Wenn ich dann versuche, eine Excel-Tabelle zu öffnen oder zu speichern, wird mir immer eine Statusleiste zum Herunterladen ohne Fortschritt angezeigt. Nach wenigen Minuten öffnet sich die Datei oder nicht. Glücksspiel. Wenn es nicht geöffnet wurde, erhalte ich die Fehlermeldung "Datei von einem anderen Benutzer geöffnet" .

Ich sollte bemerken, dass ich Windows 7, Office 2007 habe. Ich habe versucht, einige Dateien auf einen anderen PC zu übertragen, und zunächst funktioniert es einwandfrei, aber dann immer noch das gleiche Problem. Öffnet ein Dialogfenster mit der Nachricht. Dies geschieht nur bei Netzwerkdateien.

Natürlich habe ich versucht, Excel im Speichermodus und im Kompatibilitätsmodus auszuführen. Aber nichts ändert sich. Gib mir bitte einen Hinweis, woran es liegen kann und wie kann ich das beheben?


Ist es das Office-Programm, das den Dialog aufruft und fragt, ob es nur gelesen, benachrichtigt oder eine lokale Kopie erstellt werden soll? Wenn ja, gibt es ein anderes Problem
Kanadier Luke

Antworten:


-2

Versuchen Sie, Excel mit der Option / a in der Befehlszeile zu starten. Es kann durch Makros oder Add-Ins verursacht werden, aber in diesem Fall können Sie Excel ohne diese Startdateien laden.

Aktivieren Sie auch die Funktion Andere Anwendungen, die den dynamischen Datenaustausch verwenden, ignorieren. Öffnen Sie Excel-Optionen und klicken Sie links im Dialogfeld auf Erweitert. Stellen Sie dann sicher, dass DDE ausgewählt ist.

Versuchen Sie als Nächstes Folgendes: Öffnen Sie Extras - Ordneroptionen. In der Liste der Dateitypen wählen Sie XLS. Klicken Sie dann auf Erweitert. Wählen Sie Öffnen. Das Feld "Anwendung zum Ausführen von Aktionen" enthält die eigentliche Befehlszeile zum Starten von Excel. Sie sollten in dieses Feld ein Leerzeichen gefolgt von "% 1" einfügen. Achten Sie darauf, die Anführungszeichen einzuschließen. Und deaktivieren Sie Use DDE. Das ist alles was man empfehlen kann.


1

Ich hatte vor einigen Jahren das gleiche Problem beim Versuch, eine Netzwerkdatei aus dem Ausland zu öffnen. Wenn es bereits geöffnet war, hat Excel versucht, es einige Minuten lang zu öffnen, bevor festgestellt wurde, dass es verwendet wird.

Ich habe den folgenden Code verwendet, der Sids Code hier sehr ähnlich ist .

Der Code versucht, in eine Datei C; \ mywork.xls zu schreiben (ändern Sie Ihren Dateipfad entsprechend). Wenn ein Fehler auftritt , ist die Datei bereits geöffnet, andernfalls wird die Datei geöffnet. Die Fehlerprüfung erfolgt sofort und nicht zeitverzögert.

Sub Sample()
    Dim Ret
    Dim Wb As Workbook
    Dim strFile As String
    styrfile = "C:\myWork.xlsx"
    Ret = IsWorkBookOpen(strFile)
    If Ret = True Then
        MsgBox "File is open"
    Else
        Set Wb = Workbooks.Open(strFile)
    End If
End Sub

Function IsWorkBookOpen(FileName As String)
    Dim ff As Long, ErrNo As Long

    On Error Resume Next
    ff = FreeFile()
    Open FileName For Input Lock Read As #ff
    Close ff
    ErrNo = Err
    On Error GoTo 0

    Select Case ErrNo
    Case 0:    IsWorkBookOpen = False
    Case 70:   IsWorkBookOpen = True
    Case Else: Error ErrNo
    End Select
End Function

Können Sie erklären, wie dieser Code verwendet wird?
Fixer1234

0

Mit procexp können Sie herausfinden , wer die Datei noch geöffnet hat.

Bildbeschreibung hier eingeben

Mit der PID (procid) können Sie überprüfen, welches Programm und welcher Benutzer es geöffnet hat. Dafür laufen Sie tasklist.exein einem erhöhten cmd.exe.

(Dies ist hilfreich, wenn die Datei von dem PC geöffnet wurde, auf dem Sie arbeiten. Wenn sie von einem anderen PC geöffnet wurde, führen Sie sie net filesauf dem Server aus, der die Freigabe hostet, um den PC und den Benutzer zu erhalten, der sie geöffnet hat.)


Dies hilft jedoch nicht bei der anfänglichen Verzögerung beim Versuch, die Datei zu öffnen, wenn bereits eine andere Person darauf zugreift.
Brettdj

Auf diese Weise können Sie überprüfen, wer die Datei geöffnet hat. Ist das nicht die Frage?
Marsh-Wiggle

0

Microsoft sperrt Dateien, die jeweils für einen Benutzer geöffnet sind, um zu verhindern, dass Änderungen von einem anderen Benutzer überschrieben werden, der die Datei geöffnet hat, bevor die Änderungen gespeichert werden.

Gibt es einen Grund, warum diese Datei im Netzwerk und nicht auf dem lokalen Computer gespeichert ist?

Wenn Sie die Datei öffnen müssen, würde ich vorschlagen, sie als schreibgeschützte Datei zu öffnen

Versuchen Sie, eine .bat-Datei zu erstellen, um die Datei schreibgeschützt zu öffnen, wodurch mehrere Benutzer zugelassen werden.

Stellen Sie sicher, dass Sie die Anführungszeichen einfügen, wenn der Dateipfad oder -name Leerzeichen enthält. "LocalDrive: \ ExcelPath \ excel.exe" / r "NetworkDrive: \ WorkbookPath \ Workbook.xls"

Alternativ: Verwenden Sie ein HTML-Dokument, um als Download auf die Datei zu verlinken. Dadurch wird eine temporäre Datei auf Ihrem lokalen Computer gespeichert, die den vollständigen Zugriff ermöglicht und auf das Netzlaufwerk wiederhergestellt werden kann.

<a href="NetworkDrive:/WorkbookPath/Workbook.Xls" download>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.