
Dim FileList() As String ' динамический массив, в который будут помещены имена выбранных файлов
Dim i As Long
With cdl
.DialogTitle = "Select files..."
.FileName = ""
.Flags = cdlOFNAllowMultiselect ' вллючаем мультиселек файлов
.ShowOpen
If .FileName = "" Then Exit Sub ' выходим если ничего не выбрано
FileList = Split(.FileName, Chr$(32)) ' Chr$(32) - это пробел. замените на CHR$(0) при использовании API-функции GetOpenFileName
' нулевым элементом массива FileList будет путь к папке в которой выделялись файлы
' элементы с 1 по UBound(FileList) будут содержать имена файлов
End With' теперь можно пройтись по всем элементам массива и добавить их, скажем, в ListBox
For i = 1 To UBound(FileList)
List1.AddItem FileList(0) & "\" & FileList(i) ' добавляем полный путь к файлу
Next i
хочу немного прояснитьситуацию... для потомков так сказать...
при использовании Microsoft Common Dialog Control для выбора нескольких файлов в свойстве .FileName возвращается строка содержащая имена выбранных файлов разделенных пробелами. если же для этой цели используются функции библиотеки comdlg32.dll, то возвращаемые имена файлов будут разделены null-символом (Chr$(0))
нет, это мой тезка#HammeR# писал(а):CyRax . Это ты под одноименном ником "рвеш" и "мечеш" на форумах vbnet.ru?
Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 7