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

Code Optimierung/Verbesserung

Code Optimierung/Verbesserung
16.10.2017 11:47:53
Peter(silie)
Hallo Leute,
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code Optimierung/Verbesserung
16.10.2017 13:34:18
Nepumuk
Hallo Peter,
IsMissing benötigt einen Variant als Datentyp, mit einem Boolean funktioniert das nicht.
UserSelection = Nothing funktioniert nicht denn dein Variant ist nicht als Objekt initialisiert.
Ich würde da: UserSelection = NULL nehmen, so kannst du unterscheiden ob dein Dialog abgebrochen wurde - der Variant - IsEmpty ober ob ein falscher Parameter übergeben wurde - der Variant - IsNull.
Gruß
Nepumuk
Danke für die Tipps :) ...owT
16.10.2017 14:30:16
Peter(silie)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige