Code Optimierung/Verbesserung
16.10.2017 11:47:53
Peter(silie)
ich schreibe mir momentan ein Modul rund um Dateien und Ordner.
Nun habe ich 3 Funktionen hinzugefügt.
UserSelection (hier wird entschieden was aufgerufen wird)
FileSelection (FileDialog für Dateien)
FolderSelection (FileDialog für Ordner)
Ich habe nie viel mit dem FileDialog gearbeitet und glaube deshalb,
dass mein Code verbesserungswürdig ist...
Würde mich freuen wenn ihr Vorschläge oder Ideen habt :)
(Error Handling noch nicht implementiert, FolderSelection ist gleich zu FileSelection nur eben mit Ordnern)
Hier Code:
Public Function UserSelection(ByVal SelectWhat As Long, Optional ByVal MultiSelect As Boolean) _
As Variant
If IsMissing(MultiSelect) Then MultiSelect = False
Select Case SelectWhat
Case 0: UserSelection = FileSelection(MultiSelect)
Case 1: UserSelection = FolderSelection(MultiSelect)
Case Else: UserSelection = Nothing
End Select
End Function
Private Function FileSelection(ByVal MultiSelect As Boolean) As Variant
Dim items_(), varItem As Variant
Dim Dialog_ As Object
Dim counter As Long
Set Dialog_ = Application.FileDialog(msoFileDialogFilePicker)
With Dialog_
.Title = "Datei-Auswahl"
.AllowMultiSelect = MultiSelect
.ButtonName = "Auswählen"
If .Show = -1 Then
ReDim items_(.SelectedItems.count)
For Each varItem In .SelectedItems
items_(counter) = varItem
counter = counter + 1
Next varItem
End If
End With
FileSelection = items_
End Function