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

Pfad im Windows Explorer mit Überprüfung öffnen?

Forumthread: Pfad im Windows Explorer mit Überprüfung öffnen?

Pfad im Windows Explorer mit Überprüfung öffnen?
02.01.2018 12:52:59
Sergej
Hallo Anton, hallo Herber-Forum,
ich kann auf dein letzten Beitrag vom 31.12.2017 nicht antworten, da der Beitrag archviert ist: https://www.herber.de/cgi-bin/callthread.pl?index=1598952
Ich habe dein Code getestet in dem ich diesen logischerweise in einem Modul eingefügt und gestartet habe.
Wenn ich das Makro ausführe, dann wird Windows Explorer unter Windows 7 in dem Pfad schon geöffnet. Soweit in Ordnung.
Bei erneutem Ausführen des Makros, wird Windows Explorer nochmals in selbem Pfad geöffnet, obwohl das Windows Explorer in strFullPath geöffnet ist. Also kurz zusammengefasst: es findet keine Überprüfung vor dem Öffnen von strFullPath, ob Windows Explorer in dem Pfad strFullPath bereits geöffnet ist.
Sub bb()
Dim objShell As Object, win As Object
Dim strFullPath As String, gefunden As Boolean
strFullPath = "C:\temp\pdf s" 'Pfad anpassen
gefunden = False
If Dir(strFullPath, vbDirectory)  "" Then
Set objShell = CreateObject("Shell.Application")
For Each win In objShell.Windows
If InStr(1, UCase(win.FullName), "EXPLORER") > 0 Then
If LCase(win.document.folder.self.Path) = LCase(strFullPath) Then
AppActivate win.locationname
gefunden = True
Exit For
End If
End If
Next
If gefunden = False Then objShell.explore (strFullPath)
Set objShell = Nothing
Else
MsgBox "Pfad nicht vorhanden!", vbCritical
End If
End 

Sub
Viele Grüße,
Sergej


		
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad im Windows Explorer mit Überprüfung öffnen?
02.01.2018 13:19:37
Sepp
Hallo Sergej,
also bei mir (Win7) funktioniert dein Code!
Gruß Sepp

AW: Pfad im Windows Explorer mit Überprüfung öffnen?
02.01.2018 13:53:48
Sergej
Hallo Sepp,
wenn du den Code zum zweiten, dritten Mal ausführt, wird bei dir nicht nochmal Windows Explorer im strFullPath geöffnet?
Bei mir wird immer wieder nochmal das Winsows Explorer in strFullPath geöffnet. Das möchte ich vermeiden.
Viele Grüße,
Sergej
Anzeige
AW: Pfad im Windows Explorer mit Überprüfung öffnen?
02.01.2018 14:10:58
Sepp
Hallo Sergej,
bei mir wird beim ersten Mal der Explorer geöffnet und bei jedem weiteren Male, wird das Fenster in den Vordergrund gebracht, genau so wie es der Code machen soll.
Gruß Sepp

Anzeige
AW: Pfad im Windows Explorer mit Überprüfung öffnen?
02.01.2018 14:10:58
Sepp
Hallo Sergej,
bei mir wird beim ersten Mal der Explorer geöffnet und bei jedem weiteren Male, wird das Fenster in den Vordergrund gebracht, genau so wie es der Code machen soll.
Gruß Sepp

Anzeige
AW: Pfad im Windows Explorer mit Überprüfung öffnen?
02.01.2018 14:18:39
Sergej
Hallo Sepp,
genauso hääte ich ea auch gerne :-)
Hmm, woran könnte es liegen, Windows Explorer Einstellungen?
Gruß,
Sergej
AW: Pfad im Windows Explorer mit Überprüfung öffnen?
02.01.2018 16:03:01
ChrisL
Hi Sergej
Zur Sicherheit mal die Vergleichswerte der Bedingung prüfen:
...
MsgBox LCase(win.document.folder.self.Path)
MsgBox LCase(strFullPath)
If LCase(win.document.folder.self.Path) = LCase(strFullPath) Then
...
cu
Chris
Anzeige
AW: Pfad im Windows Explorer mit Überprüfung öffnen?
02.01.2018 19:30:21
Sergej
Hallo Chris,
das hat erstmal geholfen, mein Fehler zu finden. Ich hatte ein "\" am Ende strFullPath :-)
Jetzt funktioniert es auch bei mir.
Viele Grüße,
Sergej
;
Anzeige
Anzeige

Infobox / Tutorial

Pfad im Windows Explorer mit Überprüfung öffnen


Schritt-für-Schritt-Anleitung

Um den Windows Explorer mit einer Überprüfung zu öffnen, kannst du den folgenden VBA-Code verwenden. Dieser Code überprüft, ob ein Explorer-Fenster bereits im angegebenen Pfad geöffnet ist, bevor es ein neues Fenster öffnet.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub bb()
       Dim objShell As Object, win As Object
       Dim strFullPath As String, gefunden As Boolean
       strFullPath = "C:\temp\pdf s" 'Pfad anpassen
       gefunden = False
       If Dir(strFullPath, vbDirectory) <> "" Then
           Set objShell = CreateObject("Shell.Application")
           For Each win In objShell.Windows
               If InStr(1, UCase(win.FullName), "EXPLORER") > 0 Then
                   If LCase(win.document.folder.self.Path) = LCase(strFullPath) Then
                       AppActivate win.locationname
                       gefunden = True
                       Exit For
                   End If
               End If
           Next
           If gefunden = False Then objShell.explore (strFullPath)
           Set objShell = Nothing
       Else
           MsgBox "Pfad nicht vorhanden!", vbCritical
       End If
    End Sub
  4. Schließe den VBA-Editor und kehre zurück zu Excel.

  5. Führe das Makro aus, um den Windows Explorer zu öffnen.


Häufige Fehler und Lösungen

  • Problem: Windows Explorer öffnet sich jedes Mal neu, anstatt den Fokus auf das bestehende Fenster zu legen.

    • Lösung: Überprüfe, ob der Pfad in strFullPath korrekt ist. Achte darauf, dass kein zusätzliches \ am Ende des Pfades steht.
  • Problem: "Pfad nicht vorhanden!"-Meldung erscheint.

    • Lösung: Stelle sicher, dass der angegebene Pfad existiert. Verwende den Windows Explorer, um den Pfad zu überprüfen.

Alternative Methoden

Wenn du alternative Ansätze zur Überprüfung und Öffnung von Windows Explorer nutzen möchtest, kannst du diese Methoden in Betracht ziehen:

  • Verwendung von PowerShell: Du kannst ein PowerShell-Skript erstellen, das ähnliche Überprüfungen durchführt und den Explorer öffnet.
  • Batch-Dateien: Mit einer Batch-Datei kannst du Skripte erstellen, die den Windows Explorer öffnen und Pfade überprüfen.

Praktische Beispiele

Ein einfaches Beispiel für den Code, um den Explorer zu öffnen:

Sub OpenExplorer()
    Dim strPath As String
    strPath = "C:\Users\DeinBenutzername\Documents" 'Pfad anpassen
    Shell "explorer.exe """ & strPath & """", vbNormalFocus
End Sub

Dieses Skript öffnet den Windows Explorer in dem angegebenen Pfad und ist eine einfache Alternative, wenn keine Überprüfung benötigt wird.


Tipps für Profis

  • Explorer Fenstergröße: Wenn du die Fenstergröße des Explorers anpassen möchtest, kannst du dies über die Windows-Einstellungen tun oder durch manuelles Anpassen der Fenstergröße nach dem Öffnen.
  • Makro optimieren: Du kannst den Code weiter optimieren, indem du zusätzliche Bedingungen hinzufügst, um spezifischere Fenster zu identifizieren oder um Fehlermeldungen zu verbessern.

FAQ: Häufige Fragen

1. Frage: Warum öffnet sich der Windows Explorer nicht wie gewünscht?
Antwort: Überprüfe die Pfadangabe in deinem Code und stelle sicher, dass der Pfad existiert und richtig formatiert ist.

2. Frage: Funktioniert dieser Code auch in neueren Versionen von Windows?
Antwort: Ja, der Code sollte auch in neueren Versionen wie Windows 10 funktionieren, solange die VBA-Umgebung in Excel 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