Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro soll prüfen, ob Datei geöffnet ist

Forumthread: Makro soll prüfen, ob Datei geöffnet ist

Makro soll prüfen, ob Datei geöffnet ist
06.05.2004 14:48:58
Thorsten
Hallo Forumsteilnehmer,
wahrscheinlich ist meine Frage viel zu einfach, aber ich weiß nicht weiter.
Mein Makro soll beim starten des Makros prüfen, ob die Dateien 123.xls und 124.xls geöffnet sind und wenn nicht, dann soll es diese öffnen.
Hat jemand dafür eine Lösung für mich?
Vorab schon mal Besten Dank
Mfg
Thorsten
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro soll prüfen, ob Datei geöffnet ist
Andreas
workbooks.count
sagt Dir wie viele Workbooks offen sind
in eine Schleife kannst Du workbooks(i).name feststellen, wie der Name ist.
Wenn nicht vorhanden, dann eröffnen. Makro Recorder bei Unklarheiten zum Öffnen
AW: Makro soll prüfen, ob Datei geöffnet ist
07.05.2004 07:45:56
Thorsten
Danke, schade das ich nicht slebst drauf gekommen bin
AW: Makro soll prüfen, ob Datei geöffnet ist
bauer
Public

Sub Main()
Dim pfad
' pfad = pfad muss man irgendwie wissen :-)
If (IstDateiGeoeffnet("123.xls") = False) Then Workbooks.Open pfad & "\" & "123.xls"
End Sub

Public

Function IstDateiGeoeffnet(ByVal datei_name_gesucht As String) As Boolean
Dim datei As Workbook
IstDateiGeoeffnet = False
For Each datei In Workbooks
If (datei.Name = datei_name_gesucht) Then
IstDateiGeoeffnet = True
Exit Function
End If
Next datei
End Function

Anzeige
AW: Makro soll prüfen, ob Datei geöffnet ist
07.05.2004 07:47:26
Thorsten
Danke, schade das ich nicht slebst drauf gekommen bin
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Makro zur Prüfung, ob eine Datei geöffnet ist


Schritt-für-Schritt-Anleitung

Um ein Makro zu erstellen, das prüft, ob eine Datei geöffnet ist, kannst Du folgenden VBA-Code verwenden:

Sub Main()
    Dim pfad As String
    pfad = "C:\Dein\Pfad" ' Ändere diesen Pfad zu dem, wo Deine Dateien gespeichert sind

    If Not IstDateiGeoeffnet("123.xls") Then
        Workbooks.Open pfad & "\" & "123.xls"
    End If

    If Not IstDateiGeoeffnet("124.xls") Then
        Workbooks.Open pfad & "\" & "124.xls"
    End If
End Sub

Function IstDateiGeoeffnet(ByVal datei_name_gesucht As String) As Boolean
    Dim datei As Workbook
    IstDateiGeoeffnet = False
    For Each datei In Workbooks
        If (datei.Name = datei_name_gesucht) Then
            IstDateiGeoeffnet = True
            Exit Function
        End If
    Next datei
End Function

Dieser Code überprüft, ob die Dateien „123.xls“ und „124.xls“ geöffnet sind. Wenn nicht, öffnet er sie. Achte darauf, den Pfad zu Deinen Dateien korrekt anzugeben.


Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 9: Index außerhalb des gültigen Bereichs“

    • Lösung: Stelle sicher, dass der Pfad zur Datei korrekt ist und die Datei existiert.
  • Fehler: „Konnte die Datei nicht finden“

    • Lösung: Überprüfe, ob der Dateiname korrekt eingegeben wurde und die Datei im angegebenen Verzeichnis vorhanden ist.

Alternative Methoden

Eine alternative Methode zur Prüfung, ob eine Datei geöffnet ist, ist die Verwendung eines Error-Handlers. Hier ein Beispiel:

Function IstDateiGeoeffnet(ByVal datei_name_gesucht As String) As Boolean
    On Error Resume Next
    Dim datei As Workbook
    Set datei = Workbooks(datei_name_gesucht)
    IstDateiGeoeffnet = Not datei Is Nothing
    On Error GoTo 0
End Function

Diese Methode kann in bestimmten Situationen effizienter sein, da sie direkt versucht, die Arbeitsmappe zu setzen.


Praktische Beispiele

Hier ein einfaches Beispiel, wie Du das Makro in einem Arbeitsblatt verwenden kannst:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere den oben angegebenen Code in das Modul.
  4. Schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros aus.

Tipps für Profis

  • Verwende Application.DisplayAlerts = False, wenn Du Dateien öffnest, um unerwünschte Dialoge zu vermeiden.
  • Integriere eine Fehlermeldung, wenn die Datei nicht geöffnet werden kann, um den Benutzer zu informieren:
If Not IstDateiGeoeffnet("123.xls") Then
    On Error Resume Next
    Workbooks.Open pfad & "\" & "123.xls"
    If Err.Number <> 0 Then
        MsgBox "Die Datei '123.xls' konnte nicht geöffnet werden."
        Err.Clear
    End If
    On Error GoTo 0
End If

FAQ: Häufige Fragen

1. Wie kann ich das Makro automatisch beim Öffnen einer Datei ausführen?
Du kannst das Makro im Workbook_Open-Ereignis im „DieseArbeitsmappe“-Modul platzieren.

2. Funktioniert dieser Code in Excel 2016 und neueren Versionen?
Ja, der Code ist kompatibel mit Excel 2016 und neueren Versionen, solange VBA unterstützt wird.

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