Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Explorer schliessen wenn datei geoeffnet

Forumthread: Explorer schliessen wenn datei geoeffnet

Explorer schliessen wenn datei geoeffnet
Rolandx
Hallo Zusammen,
hab mal wieder ein kleines Problem(chen).
Ich muss in mehreren Tausend stromkereise die vorgaben mit den daten einer excel-datei vergleichen und auswerten. die vorgaben sind auf dem server in einer pdf-datei gespeichert. da die suche nach den dateien etwas verwirrend ist suche ich mir per makro den jeweiligen folder in dem ich die pdf-datei finden muesste. wenn der folder vorhanden ist oeffnet mir das makro den explorer mit dem zugehoerigen folder. nun wird der explorer aber nicht automatisch geschlossen sondern bei jeder suche ein neuer geoeffnet so dass ich dann den explorer zigmal geoefnet habe.
wie kann ich den explorer automatisch schliessen sobald ich per doppelklick auf eine datei diese oeffne ?
hier der schluss des makros auf das sich das problem bezieht.
If CBool(Len(Dir(SearchFolder & "\" & FAT, vbDirectory)) > 0) = True Then
SearchFolder = SearchFolder & FAT
' search for the folder where the ToolLife exists
Directory_Tree_Tool_Package SearchFolder ' Macro to search for the ToolLife-Folder
If Error70 = True Then
Error70 = False
MsgBox "FOLDER " & vbLf & SearchFolder & vbLf & " NOT FOUND"
End If
If FoundFolder <> "" Then
Shell "Explorer " & SearchFolder & "\" & FoundFolder, vbMaximizedFocus
' if the folder was not found then write into the file that the folder was not found
ElseIf FoundFolder = "" Then
Line = ChoosenCell(1).Row
Do While Range("I" & Line) = Tool
Range("O" & Line & ":P" & Line).Value = "No Package Found"
Line = Line + 1
Loop
End If
End If
End Sub
Waere nett wenn mir hier jemand helfen koennte.
Danke und schoenen Feierabend an Euch Alle.
Anzeige

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

Betreff
Benutzer
Anzeige
keine Idee, aber anderer Vorschlag
20.08.2012 18:10:14
Tino
Hallo,
kann jetzt nicht sagen wie man Windows sagen kann jetzt ist die Datei offen
ich brauch den Win-Explorer nicht mehr?!
Einen Vorschlag kann ich aber unterbreiten!
Lese den Ordner in eine Listbox ein (auf Userform oder auf der Tabelle).
Mit doppelklick in der Liste öffnet sich die Datei und der Dialog wird geschlossen.
Hier ein Beispiel.
https://www.herber.de/bbs/user/81492.xls
Gruß Tino
Anzeige
AW: keine Idee, aber anderer Vorschlag
21.08.2012 08:10:30
Rolandx
Hallo Tino,
vielen Dank fuer Deinen Vorschlag. Das ist doch recht komplex und fuer mich noch nicht verstaendlich. So weit bin ich noch nicht. Hab leider nicht die Zeit mich jetzt damit zu befassen da mein Chef etwas ungeduldig ist und Resultate sehen moechte.
Ich werde mir das mal in Ruhe reinziehen sobald ich etwas mehr Zeit habe....vielleicht auch mal zu Hause aber auch da ist es etwas stressig da wir gerade umgezogen sind. Aber ich werde das auf keinen Fall links liegen lassen da es doch recht interessant aussieht.
Also nochmals Danke und schoenen Tag noch.
Roland
Anzeige
Explorer schliessen wenn datei geoeffnet
20.08.2012 18:39:07
Anton
Hallo Roland,
so vllt:

Private Declare Function SetForegroundWindow Lib "user32" _
(ByVal hwnd As Long) As Long
Sub b()
Dim objShell As Object, win As Object
Dim gefunden As Boolean
Dim adresse As String
adresse = "E:\temp" 'anpassen
gefunden = False
Set objShell = CreateObject("Shell.Application")
For Each win In objShell.Windows
If InStr(1, UCase(win.FullName), "EXPLORER") > 0 Then
gefunden = True
If InStr(1, UCase(win.LocationName), UCase(adresse)) = 0 Then
win.navigate adresse
SetForegroundWindow (win.hwnd)
Exit For
End If
End If
Next
If gefunden = False Then objShell.explore (adresse)
Set objShell = Nothing
End Sub

mfg Anton
Anzeige
AW: Explorer schliessen wenn datei geoeffnet
21.08.2012 08:00:59
Rolandx
Danke Anton,
vielen Dank fuer Deine Hilfe. Das scheint mir auf den ersten Blick einfacher als die Loesung von Tino aber verstehen tu ich das auch nicht. Wie und wann rufe ich dies Function eigentlich auf ?
Werde mich mal in den naechsten Tage abends zu Hause hinsetzen wenn ich mal dazu komme und versuchen das zu verstehen. Wenn ich Probleme damit habe melde ich mich nochmal (wenn es Dir nichts ausmacht).
Also vielen Dank und schoenen Tag noch.
Roland
Anzeige
;
Anzeige

Infobox / Tutorial

Explorer automatisch schließen, wenn eine Datei geöffnet wird


Schritt-für-Schritt-Anleitung

Um den Windows Explorer automatisch zu schließen, wenn eine Datei geöffnet wird, kannst du folgendes VBA-Makro verwenden. Dieses Makro überprüft, ob der Explorer bereits geöffnet ist, und schließt ihn, bevor die Datei geöffnet wird.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (deinDateiname)", dann Einfügen > Modul.
  3. Kopiere den folgenden Code in das Modul:
Private Declare Function SetForegroundWindow Lib "user32" _
(ByVal hwnd As Long) As Long

Sub OpenFileAndCloseExplorer()
    Dim objShell As Object, win As Object
    Dim gefunden As Boolean
    Dim adresse As String
    adresse = "E:\temp" ' Hier den Pfad anpassen
    gefunden = False
    Set objShell = CreateObject("Shell.Application")

    ' Überprüfen, ob der Explorer geöffnet ist
    For Each win In objShell.Windows
        If InStr(1, UCase(win.FullName), "EXPLORER") > 0 Then
            gefunden = True
            ' Schließe den Explorer
            win.Quit
            Exit For
        End If
    Next

    ' Datei öffnen (hier den Pfad anpassen)
    If gefunden = False Then
        objShell.Explore (adresse)
    End If

    Set objShell = Nothing
End Sub
  1. Passe den Pfad in der Variable adresse an, wo deine Dateien liegen.
  2. Schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros > OpenFileAndCloseExplorer aus.

Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 91"

    • Lösung: Stelle sicher, dass der Pfad in der adresse-Variable korrekt ist und dass der Explorer nicht bereits geschlossen ist.
  • Fehler: Explorer öffnet sich nicht

    • Lösung: Überprüfe, ob die Rechte für den Zugriff auf den angegebenen Ordner vorhanden sind.

Alternative Methoden

Eine alternative Methode besteht darin, eine Listbox in einer Userform zu verwenden, um die Dateien anzuzeigen. Bei einem Doppelklick auf eine Datei öffnet sich die Datei, und der Explorer kann gleichzeitig geschlossen werden.

Hier ein einfacher Ansatz:

  1. Erstelle eine Userform mit einer Listbox.
  2. Lade die Dateien in die Listbox und verwende den Doppelklick-Event, um die Datei zu öffnen und den Explorer zu schließen.

Hier ein Beispielcode für den Doppelklick:

Private Sub ListBox1_DblClick()
    Dim filePath As String
    filePath = ListBox1.Value
    ' Datei öffnen
    Shell "explorer.exe """ & filePath & """", vbNormalFocus
    ' Explorer schließen
    Call OpenFileAndCloseExplorer
End Sub

Praktische Beispiele

  • Beispiel 1: Wenn du eine Excel-Datei mit einer Liste von PDFs hast, kannst du das obige Makro verwenden, um die PDFs zu öffnen, ohne dass der Explorer geöffnet bleibt.

  • Beispiel 2: Verwende das Makro in Kombination mit einer Schleife, um mehrere Dateien nacheinander zu öffnen und den Explorer jedes Mal zu schließen.


Tipps für Profis

  • Automatisierung: Du kannst das Makro weiter automatisieren, indem du es in das Workbook_Open-Ereignis einfügst, sodass es beim Öffnen der Arbeitsmappe automatisch ausgeführt wird.

  • Debugging: Nutze Debug.Print innerhalb deines Codes, um Informationen in das Direktfenster auszugeben und Fehler leichter zu identifizieren.

  • Optimiere den Code: Halte deinen Code sauber und strukturiert, um die Wartung zu erleichtern.


FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, wenn ich mehrere Ordner durchsuchen möchte?
Du kannst die Variable adresse in einer Schleife anpassen, um verschiedene Ordner nacheinander zu durchsuchen.

2. Funktioniert das Makro in allen Excel-Versionen?
Das Makro sollte in den meisten modernen Excel-Versionen (2010 und später) funktionieren, solange die VBA-Umgebung verfügbar ist.

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