Die Datei ist von einem anderen Benutzer geöffnet

1398
Tabbris

Hilf mir, eine Frage zu suchen.

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

Ich sollte feststellen, dass ich Windows 7, Office 2007, habe. Ich habe versucht, einige Dateien auf einen anderen PC zu übertragen, und es funktioniert zunächst gut, ohne Probleme, aber dann immer noch dasselbe 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. Daran ändert sich nichts. Gib mir bitte einen Hinweis, was kann es sein und wie kann ich es reparieren?

3
Ist es das Office-Programm, das den Dialog aufruft, bittet, schreibgeschützt zu öffnen, zu benachrichtigen, wenn es frei ist, oder eine lokale Kopie zu erstellen? Wenn ja, gibt es ein anderes Problem Canadian Luke vor 9 Jahren 0

4 Antworten auf die Frage

1
brettdj

Ich hatte vor einigen Jahren das gleiche Problem, als ich versuchte, eine Netzwerkdatei aus dem Ausland zu öffnen. Wenn jemand es bereits geöffnet hatte, versuchte Excel, es für einige Minuten zu öffnen, bevor es behauptet wurde.

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

Der Code versucht, in eine Datei C; \ mywork.xls zu schreiben (ändern Sie den Dateipfad in die Farbe ). Falls 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 Sie diesen Code verwenden? fixer1234 vor 9 Jahren 0
0
marsh-wiggle

Sie können procexp verwenden, um herauszufinden, wer die Datei noch geöffnet hat.

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

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

Dies hilft jedoch nicht bei der anfänglichen Verzögerung beim Versuch, die Datei zu öffnen, wenn bereits jemand anderes darauf zugreift. brettdj vor 9 Jahren 0
Auf diese Weise können Sie überprüfen, wer die Datei geöffnet hat. Ist das nicht die Frage? marsh-wiggle vor 9 Jahren 0
0
User123456798

Microsoft sperrt, dass Dateien jeweils nur für einen Benutzer geöffnet sind, um zu verhindern, dass vorgenommene Ä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 empfehlen, sie als schreibgeschützte Datei zu öffnen

Versuchen Sie, eine .bat-Datei zu erstellen, um die Datei schreibgeschützt zu öffnen, was mehrere Benutzer zulässt.

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

Alternativ - Verwenden Sie ein HTML-Dokument, um sich als Download mit der Datei zu verbinden. Dadurch wird eine temporäre Datei auf Ihrem lokalen Computer gespeichert, die den vollständigen Zugriff ermöglicht. Anschließend können Sie das Netzlaufwerk erneut aufrufen.

<a href="NetworkDrive:/WorkbookPath/Workbook.Xls" download> 
-2
Annigilator

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

Aktivieren Sie auch die Option Andere Anwendungen ignorieren, die Dynamic Data Exchange verwenden. Öffnen Sie die Excel-Optionen und klicken Sie auf der linken Seite des Dialogfensters auf Erweitert. Stellen Sie dann sicher, dass DDE ausgewählt ist.

Versuchen Sie als Nächstes Folgendes: Öffnen Sie Extras - Ordneroptionen. Wählen Sie in der Liste der Dateitypen XLS. Klicken Sie dann auf die Schaltfläche Erweitert. Wählen Sie Öffnen. Das Feld Anwendung zur Durchführung von Aktionen enthält die eigentliche Befehlszeile, die zum Starten von Excel verwendet wird. Sie sollten in diesem Feld ein Leerzeichen gefolgt von "% 1" hinzufügen. Stellen Sie sicher, dass Sie die Anführungszeichen angeben. Deaktivieren Sie DDE verwenden. Das kann man nur empfehlen.