Anzeige
Archiv - Navigation
1348to1352
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

Ausgelesene Datei-Liste in Userfom anklickbar anze

Ausgelesene Datei-Liste in Userfom anklickbar anze
03.03.2014 08:13:54
Marcel
Hallo Leute,
ich möchte über den FolderPicker alle Dateien eines Verzeichniesses einlesen. Das funktioniert schon :-D
Ich möchte aber nun alle Dateien in einem Userform angezeigt bekommen, und dort eintzeln anklicken können (um sie zu entpacken).
Die Anzahl der Dateien ist variabel.
Leider habe ich keine Idee wie ich anfangen soll :-s

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausgelesene Datei-Liste in Userfom anklickbar anze
03.03.2014 08:57:21
Marcel
Für eine feste Anzahl an Einträgen hebe ich es auch schon hinbekommen...aber leider nicht für eine Variable Anzahl.
Und auch die Variable zurordnung der CheckBoxen dzu noch nicht.
Sub OrdnerAuslesen()
Dim Ordnerpfad As Variant
Dim dat As FileDialog
Dim Datei As String
Dim x As Long
Dim DateiListe()
Set dat = Application.FileDialog(msoFileDialogFolderPicker)
With dat
.Title = "I-Stufen-Ordner"
.InitialFileName = "C:\" 'oder was auch immer
If .Show = -1 Then
For Each Ordnerpfad In .SelectedItems
Datei = Dir(Ordnerpfad + "\*.*")
Do While Datei  ""
x = x + 1
ReDim Preserve DateiListe(1 To x)
DateiListe(x) = Datei
Datei = Dir
'Loop
For n = 1 To x
Worksheets(1).Cells(n, 1) = DateiListe(n)
Next n
Loop
Next Ordnerpfad
End If
End With
i = 1
UserForm1.Label2.Caption = "Auswahlliste der zur Verfügung stehenden I-Stufen-Container."
UserForm1.Label3.Caption = "Auswahl"
For i = 1 To Sheets("Tabelle1").Cells(Rows.Count, "A").End(xlUp).Row
UserForm1.Label1.Caption = Cells(1, 1).Value
UserForm1.Label4.Caption = Cells(2, 1).Value
Next
UserForm1.Show vbModeless
End Sub

Anzeige
AW: Ausgelesene Datei-Liste in Userfom anklickbar anze
03.03.2014 10:30:49
Rudi
Hallo,
was soll das?
For Each Ordnerpfad In .SelectedItems
Folderpicker lässt nur eine Auswahl zu.
Nimm eine Listbox.
Als Ansatz:
Sub OrdnerAuslesen()
Dim x As Long
Dim DateiListe()
Dim oFS As Object, oFldr As Object, oFile As Object
Set oFS = CreateObject("Scripting.filesystemobject")
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "I-Stufen-Ordner"
.InitialFileName = "C:\" 'oder was auch immer
If .Show = -1 Then
Set oFldr = oFS.getfolder(.SelectedItems(1))
End If
End With
If Not oFldr Is Nothing Then
ReDim DateiListe(1 To oFldr.Files.Count, 1 To 1)
For Each oFile In oFldr.Files
x = x + 1
DateiListe(x, 1) = oFile.Name
Next
Sheets(1).Cells(1, 1).Resize(x) = DateiListe
With UserForm1
With .ListBox1
.MultiSelect = 1
.ListStyle = 1
.List = DateiListe
End With
.Show vbModeless
End With
End If
End Sub

Gruß
Rudi

Anzeige
AW: Ausgelesene Datei-Liste in Userfom anklickbar anze
03.03.2014 10:27:34
Marcel
Okay...habe es nun doch schon selber rausbekommen. Falls mal jemand etwas ähnliches sucht:
Sub Datei_Liste()
With Application
.EnableEvents = False
.ScreenUpdating = False
.ShowWindowsInTaskbar = False
.DisplayAlerts = False
End With
Dim Ordnerpfad As Variant
Dim dat As FileDialog
Dim Datei As String
Dim x As Long
Dim DateiListe()
Worksheets(2).Range("A:A").Delete
Set dat = Application.FileDialog(msoFileDialogFolderPicker)
With dat
.Title = "Liste"
.InitialFileName = "C:\" 'oder was auch immer
If .Show = -1 Then
For Each Ordnerpfad In .SelectedItems
Datei = Dir(Ordnerpfad + "\*.*")
Do While Datei  ""
x = x + 1
ReDim Preserve DateiListe(1 To x)
DateiListe(x) = Datei
Datei = Dir
'Loop
For n = 1 To x
Worksheets(2).Cells(n, 1) = DateiListe(n)
Next n
Loop
Next Ordnerpfad
End If
End With
Dim ctrlLbl As msforms.Label
Dim ctrlChk As msforms.CheckBox
Dim itxtCount As Integer
Dim i As Integer
'ctrLbl.Height = 20
For i = 1 To Worksheets(2).Cells(Rows.Count, "A").End(xlUp).Row
Set ctrlLbl = UserForm1.Controls.Add("Forms.Label.1")
Set ctrlChk = UserForm1.Controls.Add("Forms.CheckBox.1")
With ctrlLbl
.Name = "Label: " & i
.Top = .Height * i + 20
.Left = 20
.Height = 20
.Width = 250
.Caption = Worksheets(2).Cells(i, 1).Value
End With
With ctrlChk
.Name = "Container: " & i
.Top = .Height * i + 20
.Left = 295
.Height = 10
.Width = 10
End With
Next i
UserForm1.Show vbModeless
Worksheets(2).Range("A:A").Delete
With Application
.EnableEvents = True
.ScreenUpdating = True
.ShowWindowsInTaskbar = True
.DisplayAlerts = True
End With
End Sub

Anzeige
AW: Ausgelesene Datei-Liste in Userfom anklickbar anze
03.03.2014 13:19:17
Werner
Hi Marcel
kann Du mal eine Beispiel-Datei hochladen
Ich könnte so etwas auch gebrauchen
weiss nur nicht wie ich den Code korrekt "einbauen" muss
Danke vorab
Werner

AW: Ausgelesene Datei-Liste in Userfom anklickbar anze
03.03.2014 15:21:42
Marcel
Hi Werner,
die zweite Antwort von mir beinhaltet den kompletten Code.
Grüße
Marcel

AW: Ausgelesene Datei-Liste in Userfom anklickbar anze
03.03.2014 19:04:18
Werner
Hi Marcel,
Danke für die Antwort
Ich weiss nur leider nicht, wie ich das mit der Userform einbinden muss.
Deshalb meine Nachfrage nach der Datei ;)
Kannste ? *g*
Besten Dank im voraus
Werner

AW: Ausgelesene Datei-Liste in Userfom anklickbar anze
03.03.2014 21:05:53
Uduuh
Hallo,
letztlich hat der Code nichts mit einer speziellen UF zu tun. Sie muss nur vorhanden sein. Inkl. anderer Steuerelemente.
Ich würde allerdings Rudis Vorgehensweise mit der Listbox bevorzugen.
Gruß aus’m Pott
Udo

Anzeige
AW: Ausgelesene Datei-Liste in Userfom anklickbar anze
04.03.2014 19:44:42
Werner
Hallo Udo,
Danke für Deine Antwort :)
Nur das überfordert meine Kenntnisse - egal welche - ob UF oder Listbox
Würd mich freuen, wenn jemand eine Datei hochläd
... nur dadurch kann ich lernen ;)
Freu mich drauf
BG Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige