Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1188to1192
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

FileDialogFolderPicker

FileDialogFolderPicker
Fettertiger
Hallo zusammen,
ich habe zwar schon zig Posts zu diesem Thema gefunden, eine Lösung konnte ich aber nicht ableiten. Vielleicht hat ja jemand von Euch eine Lösung?
Mit folgendem Code-Snipplet suche ich per VBA einen Ordner zur weiteren Verarbeitung auf.
Sub test()
Dim fDialog As FileDialog
Dim i As Long
Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
With fDialog
.InitialFileName = Options.DefaultFilePath(wdDocumentsPath)
.Title = "Select folder containing the pictures to paste into the document"
.AllowMultiSelect = False
If .Show  -1 Then
Exit Sub
End If
End With
FName = ActiveDocument.Name
msgbox(fname)
End Sub
Das funktioniert so weit auch ganz gut, aber die User sind irritiert, weil dieser Dialog nicht die Ordnerinhalte mit anzeigt. Kennt jemand von Euch eine Alternative (evtl. Userform), bei der der User immer noch den Ordner auswählt, aber nicht parallel den Explorer öffnen muss, um zu sehen, ob er den richtigen Ordner erwischt hat?
Vielen Dank im Voraus
Fettertiger

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

Betreff
Benutzer
Anzeige
das ist aber kein Excel-VBA owT
15.12.2010 15:09:52
Rudi
AW: das ist aber kein Excel-VBA owT
15.12.2010 15:15:13
Fettertiger
Hi Rudi,
jein, ich verwende das komplette Macro um bestimmte Bilder eines Ordners in ein Word Dokument einzufügen. Das Macro selbst läuft aber aus Excel heraus - und funzt wie gesagt sehr gut. Vielleicht ersetzt du gedanklich das Wd.documentspath durch "C:\temp" .... dann sieht es doch gleich viel mehr nach Excel aus.
Danke und Gruss
Fettertiger
Ordnerauswahl
15.12.2010 17:54:32
Anton
Hallo Fettertiger,
so vllt:
Code:

Sub ordnerauswahl()
  Dim BrowseDir As Object  
  On Error Resume Next    
  Set BrowseDir = CreateObject("Shell.Application").BrowseForFolder(0, "Ordner auswählen", &H4000, 17)    
  If Not BrowseDir Is Nothing Then    
    MsgBox BrowseDir.self.Path
  End If  
  Set BrowseDir = Nothing  
End Sub  


mfg Anton
Anzeige
AW: Ordnerauswahl
16.12.2010 11:42:19
Fettertiger
Hallo Anton,
vielen Dank, das war jetzt schon zu 80% das was ich gebraucht hatte. Ich habe das Macro geringfügig modifiziert, um abzufangen, falls der User keinen Ordner, sondern nur eine einzelne Datei auswählt:
Sub ordnerauswahl()
Dim iClick As Integer
Dim BrowseDir As Object
On Error Resume Next
retry:
Set BrowseDir = CreateObject("Shell.Application").BrowseForFolder(0, "Select the Folder  _
that  contains your pictures", &H4000, 17)
If Not BrowseDir Is Nothing Then
MsgBox BrowseDir.self.Path
Else:
iClick = MsgBox( _
prompt:="Please select Folders only" & Chr(10) & "Would you like to retry?", _
Buttons:=vbYesNo)
If iClick = vbYes Then
GoTo retry
ElseIf iClick = vbNo Then
'Abbruch
End If
End If
Set BrowseDir = Nothing
End Sub
Das einzige, was mich noch stört ist, dass der User sich erst mühsam durch den Verezichnissbaum klicken muss, um den entsprechenden Folder auszuwählen. Ich könnte zwar einen anderen "Rootfolder" vorgeben als in "17" (=My Computer) definiert ist, aber dann kommt man nicht wieder weiter nach oben. z:B
würde ich anstelle der 17 in
Set BrowseDir = CreateObject("Shell.Application").BrowseForFolder(0, "Select the Folder that _
contains your pictures", &H4000, 17)

eine 5 eintragen, dann würde als Startordner "My Documents" stehen. Ich käme aber von dort nicht mehr auf ein Verzeichnis oberhalb dieses Ordners, bzw. auf ein anderes Laufwerk. Hast Du hierzu eine Idee?
Danke und Gruss
Fettertiger
Anzeige
Ordnerauswahl
16.12.2010 17:26:14
Anton
Hallo Fettertiger,
Hast Du hierzu eine Idee?

Leider nicht . Siehe auch hier.
mfg Anton

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige