Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

auf bereits geöffnete Datei zugreifen

Forumthread: auf bereits geöffnete Datei zugreifen

auf bereits geöffnete Datei zugreifen
21.08.2018 11:45:07
Renan
Hallo zusammen,
ich habe folgendes Problem:
Ich möchte auf eine bereits geöffnete Datei zugreifen um diese zu lesen. Mit dem folgenden Code kriege ich eine Fehlermeldung, wenn die Datei die ich öffnen möchte bereits von einem anderen User geöffnet ist:
' Auftragsliste öffnen und die letzte (und somit höchste) Auftragsnummer entnehmen. Im  _
Anschluss inkrementieren und als neue Auftragsnummer nutzen.
Call OpenWorkbook(AuftragslistePfad)
Sheets(1).Activate
Range("A3").Select
AuftragslisteWorkbook = ActiveWorkbook.Name
Selection.End(xlDown).Select
Auftragsnummer = Selection.Value + 1
' Auftragsliste schließen
Workbooks("Auftragsliste.xlsm").Close savechanges:=False

Kann mir jemand damit weiterhelfen bitte?
P.s:
Ich möchte ja hier eine Datei nur zum lesen öffnen, das heißt zur Not ohne Schreibzugriff.
Wie würde es aussehen, wenn ich in meinem Makro eine (momentan von einem anderen User geöffnete) Excel-Datei öffnen und gleichzeitig darauf schreiben möchte?
MfG.
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: auf bereits geöffnete Datei zugreifen
21.08.2018 12:17:53
Daniel
Hi
du solltest momentan keine Fehlermeldung bekommen, sonden die übliche Rückfrage des Systems, ob es die Datei schreibgeschützt öffnen soll oder nicht. Die kommt auch innerhalb eines Makros.
um eine Datei schreibgeschützt zu öffnen, gibt man das im WorbookOpen einfach über den entsprechenden Parameter an:
Call OpenWorkbook(AuftragslistePfad, ReadOnly:=True)
wenn mehrere Personen gleichzeitig schreibend auf eine Datei zugreifen können sollen, dann muss man diese Datei dafür einrichten, das geht über die Menüfunktion ÜBERPRÜFEN - ÄNDERUNGEN - ARBEITSMAPPE FREIGEBEN.
allerdings sind im freigegebenen Modus nicht alle Excel- und VBA-Funktionen verfügbar.
so kann bspw für eine freigegebene Datei der Blattschutz nicht aufgehoben oder aktiviert werden, dh wenn am Blattschutz was geändert werden soll, muss man temporär die Freigabe wieder zurück nehmen.
Gleiches gilt für Makros. Makros funktionieren zwar grundsätzlich in freigegebenen Dateien, aber man kann sie in diesem Modus nicht schreiben oder verändern.
Gruß Daniel
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Auf bereits geöffnete Excel-Dateien zugreifen


Schritt-für-Schritt-Anleitung

Um auf bereits geöffnete Excel-Dateien zugreifen zu können, gehe wie folgt vor:

  1. Öffne die Datei schreibgeschützt: Wenn du eine Datei öffnen möchtest, die bereits von einem anderen Benutzer geöffnet ist, kannst du dies im schreibgeschützten Modus tun. Verwende den folgenden VBA-Code:

    Call OpenWorkbook(AuftragslistePfad, ReadOnly:=True)
  2. Aktiviere das Blatt: Nach dem Öffnen der Datei aktiviere das gewünschte Blatt:

    Sheets(1).Activate
  3. Lese die benötigten Daten: Um beispielsweise die höchste Auftragsnummer zu lesen, kannst du den folgenden Code verwenden:

    Range("A3").Select
    Selection.End(xlDown).Select
    Auftragsnummer = Selection.Value + 1
  4. Schließe die Datei: Wenn du mit dem Lesen fertig bist, kannst du die Datei wieder schließen:

    Workbooks("Auftragsliste.xlsm").Close SaveChanges:=False

Häufige Fehler und Lösungen

  • Fehlermeldung beim Öffnen einer Datei: Wenn du eine Fehlermeldung erhältst, obwohl du die Datei schreibgeschützt öffnen möchtest, überprüfe, ob der Parameter ReadOnly:=True korrekt gesetzt ist.

  • Rückfrage für schreibgeschütztes Öffnen: In der Regel sollte statt einer Fehlermeldung eine Rückfrage erscheinen, ob du die Datei schreibgeschützt öffnen möchtest. Stelle sicher, dass du die aktuelle Excel-Version verwendest, die diese Funktion unterstützt.


Alternative Methoden

Eine weitere Möglichkeit, geöffnete Dateien anzuzeigen, ist die Nutzung der Excel-Menüleiste:

  1. Gehe zu "Datei" und wähle "Öffnen".
  2. Wähle "Zuletzt verwendet" um alle zuletzt geöffneten Dateien anzuzeigen. Dies bietet eine einfache Möglichkeit, geöffnete Dateien zu finden und darauf zuzugreifen.

Praktische Beispiele

Hier ist ein einfaches Beispiel, um auf eine geöffnete Excel-Datei zuzugreifen und eine Zelle auszulesen:

Sub ZugriffAufGeoeffneteDatei()
    Dim AuftragslisteWorkbook As Workbook
    On Error Resume Next
    Set AuftragslisteWorkbook = Workbooks("Auftragsliste.xlsm")

    If AuftragslisteWorkbook Is Nothing Then
        MsgBox "Die Datei ist nicht geöffnet. Bitte öffne sie zuerst."
    Else
        MsgBox "Die Datei ist geöffnet. Der Wert in A3 ist: " & AuftragslisteWorkbook.Sheets(1).Range("A3").Value
    End If
End Sub

Tipps für Profis

  • Verwende On Error Resume Next: Dies verhindert, dass das Makro bei einem Fehler stoppt. Es ist besonders nützlich, wenn du versuchst, auf eine möglicherweise nicht geöffnete Datei zuzugreifen.

  • Freigeben von Arbeitsmappen: Wenn mehrere Benutzer gleichzeitig auf eine Datei zugreifen sollen, stelle sicher, dass die Datei für die gemeinsame Nutzung freigegeben ist. Dies geschieht über die Menüfunktion „Überprüfen“ -> „Änderungen“ -> „Arbeitsmappe freigeben“.


FAQ: Häufige Fragen

1. Wie kann ich eine geöffnete Datei in Excel anzeigen?
Du kannst die Liste der zuletzt verwendeten Dateien im Menü "Datei" unter "Öffnen" finden.

2. Was passiert, wenn ich versuche, eine bereits geöffnete Datei zu ändern?
Wenn die Datei von einem anderen Benutzer geöffnet ist, wirst du möglicherweise gefragt, ob du sie im schreibgeschützten Modus öffnen möchtest. In diesem Fall kannst du die Datei nicht ändern, sondern nur lesen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige