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

Prüfen ob Datei geöffnet, wenn nich öffnen

Forumthread: Prüfen ob Datei geöffnet, wenn nich öffnen

Prüfen ob Datei geöffnet, wenn nich öffnen
04.06.2002 10:54:39
Michael
Wie kann ich prüfen ob die mappe XXXXX.xls schon geöffnet ist und wenn nicht, sie dann automatisch zu öffnen!!

Michael

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Prüfen ob Datei geöffnet, wenn nich öffnen
04.06.2002 11:06:22
@lex
Hallo Michael !
Wie folgt.

Function func_IsBookOpen(FileName As String) As Boolean
'eine Funktion, die Prüft ob eine Datei schon geöffnet ist.
Dim s As String
On Error GoTo Nonexistent
s = Workbooks(FileName).Name
func_IsBookOpen = True
Exit Function
Nonexistent:
func_IsBookOpen = False
End Function

Sub Eingabeformular()
Dim Datei, Dateiname As String

Dateiname = "Eingabeformular.xls"
Datei = Cells(43, 2).Value & Dateiname

If func_IsBookOpen(Dateiname) = False Then
'Prüfung, ob eine Datei mit diesem Namen schon geöffnet ist?
'Wenn nicht (=False) dann öffne Datei inkl. Pfadname
Workbooks.Open FileName:=Datei
Else: Workbooks(Dateiname).Activate
End If
End Sub

Namen und Pfad musst Du natürlich anpassen.

VG,
Alex

Anzeige
Re: Prüfen ob Datei geöffnet, wenn nich öffnen
04.06.2002 11:39:10
Michael
Was ist das mit Datei=Cells(43,2).??? Wieso Cells(43,2)
Verstehe ich nicht so ganz?

Michael

Erläuterung
04.06.2002 11:47:45
@lex
Jau,
ich habe das Makro so wie es ist aus einer Mappe von mir kopiert.
Der Hintergrund mit dem Cells-Befehl ist:
Dort steht in meiner Tabelle, der Pfad der "Menü-Datei", über die ich alle anderen Dateien abrufe.
D.h. in Reihe 43, Spalte B steht bei mir bswp. c:\daten\excel\
danach kommt der Dateiname hinzu, der in diesem Fall als Eingabeformular deklariert ist. Im Prinzip kannst Du hier auch einen cells(row,column).Value - Befehl verwenden, wenn Du z.B. über ein Drop-Down eine Dateiauswählst und dieser Wert in Zelle geschrieben wird.

Alex

Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Prüfen, ob eine Datei geöffnet ist und sie gegebenenfalls öffnen


Schritt-für-Schritt-Anleitung

Um in Excel VBA zu prüfen, ob eine Datei geöffnet ist und sie gegebenenfalls zu öffnen, kannst du folgende Schritte ausführen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke im Projektfenster mit der rechten Maustaste auf VBAProject (DeineDatei.xls) und wähle Einfügen > Modul.
  3. Füge den folgenden Code ein:

    Function func_IsBookOpen(FileName As String) As Boolean
       ' Funktion, die prüft, ob eine Datei bereits geöffnet ist.
       Dim s As String
       On Error GoTo Nonexistent
       s = Workbooks(FileName).Name
       func_IsBookOpen = True
       Exit Function
    Nonexistent:
       func_IsBookOpen = False
    End Function
    
    Sub Eingabeformular()
       Dim Datei, Dateiname As String
       Dateiname = "Eingabeformular.xls"
       Datei = Cells(43, 2).Value & Dateiname
    
       If func_IsBookOpen(Dateiname) = False Then
           ' Prüfung, ob eine Datei mit diesem Namen bereits geöffnet ist?
           ' Wenn nicht (=False), dann öffne die Datei inkl. Pfadname
           Workbooks.Open FileName:=Datei
       Else
           Workbooks(Dateiname).Activate
       End If
    End Sub
  4. Passe den Dateinamen und den Pfad an:

    • Stelle sicher, dass der Dateiname und der Pfad in der Cells(43, 2).Value korrekt sind.
  5. Führe das Makro aus:

    • Du kannst das Makro Eingabeformular über das Menü Ausführen oder durch Drücken von F5 im VBA-Editor ausführen.

Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"

    • Stelle sicher, dass der Pfad in Cells(43, 2).Value korrekt ist und die Datei tatsächlich existiert.
  • Fehler: "Die Datei ist bereits geöffnet"

    • Wenn du versuchst, die Datei erneut zu öffnen, obwohl sie bereits geöffnet ist, überprüfe, ob die Datei von einem anderen Benutzer geöffnet wurde. In diesem Fall kannst du die Funktion excel vba prüfen ob datei von anderem benutzer geöffnet verwenden, um den Status zu überprüfen.

Alternative Methoden

Eine alternative Methode besteht darin, den Workbook_Open Event zu verwenden, um die Datei beim Öffnen der Arbeitsmappe zu überprüfen. Hier ist ein Beispiel:

Private Sub Workbook_Open()
    If Not func_IsBookOpen("Eingabeformular.xls") Then
        Workbooks.Open "C:\daten\excel\Eingabeformular.xls"
    End If
End Sub

Diese Methode stellt sicher, dass die Datei beim Öffnen der Arbeitsmappe automatisch geöffnet wird, wenn sie nicht bereits geöffnet ist.


Praktische Beispiele

Angenommen, du möchtest eine Datei namens Bericht.xls prüfen und öffnen. Stelle sicher, dass der Pfad in Cells(43, 2).Value korrekt auf den Speicherort zeigt. Der Code würde dann wie folgt aussehen:

Dateiname = "Bericht.xls"
Datei = Cells(43, 2).Value & Dateiname

Wenn die Datei nicht geöffnet ist, wird sie geöffnet. Ansonsten wird sie aktiviert.


Tipps für Profis

  • Verwende Fehlerbehandlung: Implementiere On Error Resume Next in deinem Code, um Fehler zu ignorieren, die auftreten könnten, wenn die Datei nicht gefunden wird.

  • Dokumentation: Halte deinen Code gut dokumentiert, damit du die Logik später leichter nachvollziehen kannst.

  • Nutze Variablen: Verwende Variablen für die Dateipfade, um den Code leichter wartbar zu machen.


FAQ: Häufige Fragen

1. Wie kann ich prüfen, ob eine Datei von einem anderen Benutzer geöffnet ist? Du kannst die Funktion func_IsBookOpen verwenden, um zu überprüfen, ob die Datei bereits geöffnet ist. Bei Bedarf kannst du auch spezifische Fehlerbehandlungsmechanismen implementieren, um den Status zu überprüfen.

2. Was mache ich, wenn die Datei nicht gefunden wird? Stelle sicher, dass der Pfad in Cells(43, 2).Value korrekt ist und dass die Datei an dem angegebenen Speicherort vorhanden ist. Prüfe auch auf Tippfehler im Dateinamen.

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