Makro OrdnerPfad auf Variable Speichern

10/06/2008 - 15:00 von Joergen Mohns | Report spam
Moin moin liebe community,

ich hoffe mir kann einer Helfen.
Ich habe ein Makro erstellt, welches alle Dateinamen in einem Ordner
ausließt und sie in eine ExcelTabelle auflisten. Danach folgen noch ein
paar weitere Aktionen, welche aber keine Rolle spielen.
Bisher habe ich den Pfad zum Ordner so übergeben:

strLookIn = InputBox("Bitte geben sie den Pfad ein", , "")

Das klappt auch ohne Problem, ist meine Meinung nach aber nicht wirklich
konfortabel für den User.
Viel besser wàre es wenn man nur auf einen Durchsuchen Button klicken
braucht, dann den Pfad wie in Windows auswàhlt und dann mit OK
bestàtigt. Bisher hab ich es mit:

Application.Dialogs(xlDialogOpen).Show

versucht, bin aber noch zu keiner Lösung gekommen.
Hat einer eine Idee wie man mein Problem lösen kann?

Mfg Joergen
 

Lesen sie die antworten

#1 stefan onken
10/06/2008 - 16:07 | Warnen spam
On 10 Jun., 15:00, Joergen Mohns wrote:
Moin moin liebe community,

ich hoffe mir kann einer Helfen.
Ich habe ein Makro erstellt, welches alle Dateinamen in einem Ordner
ausließt und sie in eine ExcelTabelle auflisten. Danach folgen noch ein
paar weitere Aktionen, welche aber keine Rolle spielen.
Bisher habe ich den Pfad zum Ordner so übergeben:

strLookIn = InputBox("Bitte geben sie den Pfad ein", , "")

Das klappt auch ohne Problem, ist meine Meinung nach aber nicht wirklich
konfortabel für den User.
Viel besser wàre es wenn man nur auf einen Durchsuchen Button klicken
braucht, dann den Pfad wie in Windows auswàhlt und dann mit OK
bestàtigt. Bisher hab ich es mit:

Application.Dialogs(xlDialogOpen).Show

versucht, bin aber noch zu keiner Lösung gekommen.
Hat einer eine Idee wie man mein Problem lösen kann?

Mfg Joergen



hallo Joergen,
die Ordnerauswahl ist in XL leider so eine Sache...
Sowohl bei Dialogs(xlDialogOpen) als auch mit GetOpenFilename muss
eine Datei ausgewàhlt (und bei Dialogs im Hintergrund auch geöffnet)
werden, von der man dann den Pfad ermitteln kann.

Application.ScreenUpdating = False
Application.Dialogs(xlDialogOpen).Show
pfad = ActiveWorkbook.Path
ActiveWorkbook.Close False
Application.ScreenUpdating = True
MsgBox pfad

bzw GetOpenFilename

d = Application.GetOpenFilename()
pfad = Replace(d, Dir(d), "")
MsgBox pfad

in Excel 2002 und 2003 gibt es einen Verzeichniswahldialog:

Set fd = Application.FileDialog(msoFileDialogFolderPicker)
If fd.Show() = True Then
MsgBox "Verzeichnis: " & fd.SelectedItems(1)
End If

Für andere Excelversionen ist etwas mehr Code notwendig:
http://tinyurl.com/685h88


Gruß
stefan

Ähnliche fragen