Anzeige
Archiv - Navigation
1820to1824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ordner auswählen Dialog

Ordner auswählen Dialog
14.03.2021 22:52:23
SchubertFranzl
Hallo
ich würde gerne den User einen Ordner wählen lassen. Das mache ich jetzt so, wie unten dargestellt. Allerdings mit einem kleinen Schönheitsfehler: Die Dateien im gewählten Ordner sind nicht sichtbar. Und das macht die Ordnerwahl (möglich, aber) schwer.
Sub Ordnerwahl
Dim Pfad As String
Pfad = Range("B1")
'Backslash am Schluss wird entfernt
If Right(Pfad, 1) = "\" Then Pfad = Left(Pfad, Len(Pfad) - 1)
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = Pfad & "\"
.Title = "Ordnerauswahl"
.ButtonName = "Auswahl..."
If .Show = -1 Then
'Ordner wurde ausgewählt
Pfad = .SelectedItems(1)
'Backslash wird angehängt
If Right(Pfad, 1)  "\" Then Pfad = Pfad & "\"
End If
End With
End Sub
Kann man das so einstellen, dass der Anwender den gewünschten Pfad wählen kann und dabei im Dialogfenster auch die Dateien sieht?
Gruss von Franzl

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner auswählen Dialog
14.03.2021 23:35:49
Yal
Hallo Franzl,
dann musst Du den Bruder von msoFileDialogFolderPicker aufrufen
Application.FileDialog (msoFileDialogFilePicker)
Es führt aber dazu, dass eine Datei ausgewählt werden muss, dessen Namen Du anschliessend aus dem .SelectedItems(1) rausnehmen muss:
Pfad = Left(.SelectedItems(1), InstrRev(.SelectedItems(1), "\"))
VG
Yal

AW: Ordner auswählen Dialog
15.03.2021 14:13:19
SchubertFranzl
OK, damit sehe ich den Ordnerinhalt, kann aber keinen Ordnerpfad selbst zurückgeben. Dass dazu eine Datei angelklickt werden muss, ist schon schwierig zu verklickern. Denn dann kommt die Frage: Welche Datei, welche nicht, und was ist, wenn keine Datei drin ist, usw. Aber dennoch danke, yal.
Vielleicht hat jemand noch Ideen oder Vorschäge. Der Anwender soll einen Ordner auswählen, und dabei sehen können, welche Dateien in disem Ordner sind. Sonst müsste er das außerhalb kontrollieren. Insbesondere praktisch, wenn er erst anhand der Dateien den richtigen Ordner findet.
Zurückgegeben soll jedenfalls der Ordnerpfad.
Gruss, Franzl

Anzeige
Ordner auswählen Dialog
15.03.2021 15:49:47
Anton
Hallo Franzl,
probier sowas:

Sub ordnerauswahl()
  Dim oShell As Object, BrowseDir As Object, vPfad  
  vPfad = Range("B1")
  On Error Resume Next    
  Do
    Err.Clear
    Set oShell = CreateObject("Shell.Application")  
    Set BrowseDir = oShell.BrowseForFolder(0, "Ordner auswählen", &H4000, vPfad)  
    If Err.Number = 0 Then  
      If Not BrowseDir Is Nothing Then    
        vPfad = BrowseDir.self.Path & "\"
        MsgBox vPfad
        Exit Do  
      End If  
    Else
      MsgBox "Wählen Sie bitte einen ORDNER und nicht eine Datei aus!"
    End If  
    Set oShell = Nothing  
    Set BrowseDir = Nothing  
  Loop Until Err = 0  
  On Error GoTo 0    
End Sub

mfg Anton

Anzeige
@ertrtz-y oT
16.03.2021 17:04:20
Anton

AW: Ordner auswählen Dialog
16.03.2021 23:44:32
SchubertFranzl
Hi Anton, danke. Fast perfekt.
Kann man es so machen, dass man vom vorgeschlagenen vPfad auch hinauf (also in den Ordner, der vPfad beinhaltet) navigieren kann?
Leider kann ich mit Shell.Application oder oShell.BrowseForFolder nichts anfangen. Muss ich auch nicht, denn dazu habe ich ja ein Makro
LG, Franzl

AW: Ordner auswählen Dialog
17.03.2021 15:40:34
Anton
Hallo Franzl,
Kann man es so machen, dass man vom vorgeschlagenen vPfad auch hinauf navigieren kann?
leider nicht.
mfg Anton

AW: Ordner auswählen Dialog
17.03.2021 07:34:10
MRUTOR
Warum so kompliziert? Man kann das leicht mit dem Excel FolderPicker loesen.
In dem Beispiel oeffnet sich der Ordner Dialog. Mit Einfachklick auf den auszuwaehlenden Ordner wird dieser unten als Ordnername uebernommen. Bei Doppelklick auf den Ordner passiert das gleiche, aber auch der Inhalt des Ordners wird im Auswahlfenster angezeigt. Jetzt kann mit klick auf "Auswahl" der Ordner uebernommen werden ohne eine Datei auswaehlen zu muessen und der Pfad ist in der Variablen strOrdner gespeichert. Im Beispiel wird er dann in der letzten Zeile in einer Msgbox ausgegeben.

Sub Ordnerauswahl()
Dim strOrdner As String
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "C:\"        'hier kann man auch den kompletten Pfad zu einem  _
Hauptordner angeben
.Title = "Ordnerauswahl"
.ButtonName = "Auswahl..."
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strOrdner = .SelectedItems(1)
End If
End With
If strOrdner = "" Then MsgBox ("Kein Ordner gewählt!") Else MsgBox strOrdner
End Sub

Hoffe, das ist so wie gewuenscht.
Gruss Tor

Anzeige
AW: Ordner auswählen Dialog
17.03.2021 07:37:15
MRUTOR
Sorry, muss mich korrigieren. Leider werden hier keine Dateien sondern nur Unterordner als Inhalt des Ordners angezeigt. Also vergiss es.

AW: Ordner auswählen Dialog
17.03.2021 07:48:20
MRUTOR
wieder offen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige