ich habe jetzt schon stundenlang recherchiert, aber nicht selbst zu einer Lösung gekommen. Vermutlich ist es aber ganz einfach und ich bin nur zu blöd.
Falls ein bestimmter Pfad im Explorer (der "normale", nicht der Internet Explorer) NICHT geöffnet ist, soll der Explorer unter diesem Pfad geöffnet werden. Das habe ich schon hinbekommen. Aber Folgendes klappt noch nicht: Wenn der Explorer schon unter diesem Pfad geöffnet ist, soll er im Vordergrund angezeigt werden (für den Fall, dass er im Hintergrund ist und/oder minimiert ist). Bisher klappt es nur, dass das Fenster in den Vordergrund kommt (mit win.Activate), wenn es hinter einem anderen Fenster "versteckt" ist. Aber wenn das Fenster minimiert ist, klappt das nicht.
Im Folgenden mein Code, den Pfad hab ich aus Datenschutzgründen in diesem Forum in "Beispielpfad" geändert.
Sub explorer_anzeigen()
Dim objShell As Object, win As Object
Dim strFullPath As String, gefunden As Boolean
strFullPath = "Beispielpfad\vorlagen" '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
win.Activate
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
Ich hab das Gefühlt, dass die Lösung wieder ganz einfach ist, aber ich krieg es trotz mehrstündiger Recherche einfach nicht hin.Schonmal danke für die Antworten! :)