Im Tipp Datei-Mehrfachauswahl an eine ListBox übergeben wurde Ihnen gezeigt, wie Sie eine Mehrfachauswahl im "Öffnen"-Dialog der CommonDialog-Komponente realisieren können. Doch leider versagt diese Funktion wenn man nur eine Datei auswählt. Dieses Problem lässt sich lösen, indem man String Arrays benutzt. Kopieren Sie folgenden Code am besten in ein Modul: Public Sub GetData(oDialog As CommonDialog, _ oList As ListBox, _ Optional ByVal sFilter As String = "Alle Dateien (*.*)|*.*", _ Optional ByVal bClearList As Boolean = True) Dim sFiles() As String Dim i As Long ' ListBox säubern If bClearList Then oList.Clear On Error Resume Next With oDialog .CancelError = True .FileName = "" ' Dateinamen löschen .Filter = sFilter ' Flags für Explorer Style und Mehrfachauswahl übergeben .Flags = &H200 + &H80000 ' alle Dateinamen zusammen dürfen maximal 24KB ' (24576 Bytes) Lang sein. .MaxFileSize = 24576 ' Dialog anzeigen .ShowOpen If Err.Number = 0 Then sFiles = Split(.FileName, vbNullChar) If UBound(sFiles) > 1 Then ' Mehrere Dateien ausgewählt! For i = 1 To UBound(sFiles()) oList.AddItem sFiles(i) Next i Else ' nur eine Datei ausgewählt oList.AddItem sFiles(0) End If End If End With On Error Goto 0 End Sub Beispiel:Benötigt wird ein CommonDialog (CommonDialog1), eine ListBox (List1) und ein CommandButton (Command1). Private Sub Command1_Click() GetData CommonDialog1, List1, , False End Sub Dieser Tipp wurde bereits 18.082 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Tipp des Monats Januar 2025 Dieter Otter Zeilen einer MultiLine-TextBox ermitteln (VB.NET) Dieser Zipp zeigt, wie man die Zeilen einer MultiLine-TextBox exakt so ermitteln kann, wie diese auch in der TextBox dargestellt werden. Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |