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

Forumthread: Pfad im Windows Explorer öffnen?

Pfad im Windows Explorer öffnen?
26.12.2017 21:42:31
Sergej
Hallo Leute,
ich habe eine Frage: Ist es möglich im Code (s. unten) eine Überprüfung einzubauen, ob das Verzeichnis bereits im Windows Explorer Sitzung geöffnet ist, bevor es nochmal geöffnet wird?
Sub test()
strFullPath = "C:\Export\2017"
If Dir(strFullPath, vbDirectory)  "" Then
Shell Environ("WinDir") & "\explorer.exe /n,/e," & strFullPath, vbNormalFocus
Else
MsgBox "Pfad nicht vorhanden!", vbCritical
End If
End Sub
Beste Grüße,
Sergej
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad im Windows Explorer öffnen?
26.12.2017 22:28:16
EtoPHG
Hallo Sergej,
Ganz einfach:
Sub test()
Static bOpened As Boolean
Dim strFullPath As String
strFullPath = "C:\Export\2017"
If Dir(strFullPath, vbDirectory)  "" Then
Shell Environ("WinDir") & "\explorer.exe /n,/e," & strFullPath, vbNormalFocus
Else
MsgBox "Pfad " & IIf(bOpened, "immer noch", "") & " nicht vorhanden!", vbCritical
End If
bOpened = True
End Sub
Gruess Hansueli
Anzeige
AW: Pfad im Windows Explorer öffnen?
26.12.2017 22:52:57
Sergej
Hallo Hansueli,
da haben wir uns mißverstanden. In meinem Fall existiert das Verzeichnis, dann wird zum erstmal Windows Explorer in dem vordefiniertem Pfad geöffnet. Soweit OK.
Wenn ich jetzt nochmals / zum zweiten Mal das Makro ausführe, sollte vorher geprüft werden, ob Windows Explorer Prozzes in dem vordefiniertem Pfad bereits geöffnet ist. Falls ja, dann nicht zum zweiten Mal Windows Exolorer in selbem Pfad öffnen.
Beste Grüße,
Sergej
Anzeige
Pfad im Windows Explorer öffnen?
27.12.2017 15:41:43
Anton
Hallo Sergej,
so?:
Code:

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  

mfg Anton
Anzeige
AW: Pfad im Windows Explorer öffnen?
30.12.2017 17:36:14
Sergej
Hallo Anton,
ich habe es getestet. Bei mir wird das Windwos Explorer trotzdem jedes Mal im selbem Pfad geöffnet.
Beste Grüße,
Sergej
wie hast du es getestet?
31.12.2017 14:21:56
Anton
Hallo Sergej,
kannst du hier dein Code posten?
mfg Anton
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Pfad im Windows Explorer öffnen


Schritt-für-Schritt-Anleitung

Um einen Pfad im Windows Explorer zu öffnen und sicherzustellen, dass das Verzeichnis nicht mehrfach geöffnet wird, kannst du den folgenden VBA-Code verwenden. Dieser Code überprüft, ob das Explorer-Fenster bereits geöffnet ist, bevor es erneut aufgerufen wird:

Sub OpenExplorerWithPath()
    Dim objShell As Object
    Dim win As Object
    Dim strFullPath As String
    Dim gefunden As Boolean

    strFullPath = "C:\Export\2017" ' Passe den Pfad an
    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

Dieser Code öffnet das Windows Explorer-Fenster mit dem angegebenen Pfad, wenn es nicht bereits geöffnet ist.


Häufige Fehler und Lösungen

  • Fehler: Pfad nicht vorhanden!

    • Lösung: Überprüfe, ob der angegebene Pfad korrekt ist und das Verzeichnis tatsächlich existiert.
  • Fehler: Explorer öffnet sich trotzdem mehrmals.

    • Lösung: Stelle sicher, dass die Überprüfung des geöffneten Fensters korrekt implementiert ist. Achte darauf, dass der Code zur Fensterüberprüfung in die richtige Schleife integriert ist.

Alternative Methoden

Eine weitere Möglichkeit, einen Pfad im Windows Explorer zu öffnen, ist die Verwendung des Shell-Befehls direkt. Hier ist ein einfaches Beispiel, um den Windows Explorer mit einem bestimmten Pfad zu öffnen:

Sub OpenExplorerDirect()
    Dim strFullPath As String
    strFullPath = "C:\Export\2017" ' Passe den Pfad an
    Shell "explorer.exe """ & strFullPath & """", vbNormalFocus
End Sub

Dieser Code öffnet das Explorer-Fenster direkt mit dem angegebenen Pfad.


Praktische Beispiele

Wenn du häufig mit bestimmten Ordnern arbeitest, kannst du diese Methode verwenden, um schnell den gewünschten Ordner zu öffnen. Hier sind einige Beispiele:

  1. Öffne den Dokumenten-Ordner:

    Sub OpenDocumentsFolder()
       Shell "explorer.exe """ & Environ("USERPROFILE") & "\Documents""", vbNormalFocus
    End Sub
  2. Öffne einen benutzerdefinierten Ordner:

    Sub OpenCustomFolder()
       Dim customPath As String
       customPath = "C:\MeinOrdner"
       Shell "explorer.exe """ & customPath & """", vbNormalFocus
    End Sub

Tipps für Profis

  • Verwende Static-Variablen in deinen Makros, um den Status von geöffneten Fenstern zu speichern.
  • Kombiniere diese Methoden mit anderen Excel-Funktionen, um eine benutzerfreundliche Oberfläche zu schaffen.
  • Nutze die Shell-Funktion effizient, um verschiedene Windows-Explorer-Funktionen zu automatisieren.

FAQ: Häufige Fragen

1. Kann ich den Windows Explorer mit VBA auch ohne Pfad öffnen? Ja, du kannst Shell "explorer.exe", vbNormalFocus verwenden, um den Windows Explorer ohne einen spezifischen Pfad zu öffnen.

2. Wie kann ich mehrere Explorer-Fenster gleichzeitig öffnen? Du kannst mehrere Instanzen von Shell aufrufen, indem du verschiedene Pfade in verschiedenen Makros definierst. Achte darauf, dass du für jedes Fenster eine eigene Shell-Anweisung verwendest.

3. Was mache ich, wenn der Explorer nicht reagiert? Starte deinen Computer neu oder überprüfe, ob andere Programme den Zugriff auf den Windows Explorer blockieren.

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