Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2013, 13:27   #1
lioon
Пользователь
 
Регистрация: 06.05.2011
Сообщений: 38
По умолчанию Как сделать выбор нескольких файлов из папки

Использую такой код для выбора файлов и записи их значений в текущую ячейку.
Всё хорошо пока файлов несколько штук, но когда нужно добавить 20 файлов из папки начинаются ошибки или/и нервный тик.

Подскажите каким образом можно выбрать сразу несколько файлов в папке и записать их значения в столбец по порядку?

Код:
Sub показать_файл() ' Выбираем файл из папки
 Dim sFileName As String, sNewFileName, fio As String
   Dim objFSO As Object, objFile As Object
  
    ИмяФайла= GetFilePath(, "*", , "*") 
      If ИмяФайла= "" Then Exit Sub    
   
   ActiveCell.Value = ИмяФайла
     
End Sub

Function GetFilePath(Optional ByVal Title As String = "Выберите файл", _
                     Optional ByVal InitialPath As String = "W:\", _
                     Optional ByVal FilterDescription As String = "Книги Excel", _
                     Optional ByVal FilterExtention As String = "*.xls*") As String
   On Error Resume Next
    With Application.FileDialog(msoFileDialogOpen)
        .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
        .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
        If .Show <> -1 Then Exit Function
        GetFilePath = .SelectedItems(1): PS = Application.PathSeparator
    End With
End Function
lioon вне форума Ответить с цитированием
Старый 25.10.2013, 13:49   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
записать их значения в столбец по порядку
А что Вы понимаете под "значением" файла? Его содержимое или имя (как в Вашем примере)?
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 25.10.2013, 14:11   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот вы где взяли эту функцию GetFilePath?
У меня же на сайте: http://excelvba.ru/code/GetFileOrFolderPath

А если ту же статью пролистать чуточку вниз, - можно найти и нужную вам функцию, возвращающую список файлов:

Код:
Function GetFilenamesCollection(Optional ByVal Title As String = "Выберите файлы для обработки", _
                             Optional ByVal InitialPath As String = "c:\") As FileDialogSelectedItems
    ' функция выводит диалоговое окно выбора нескольких файлов с заголовком Title,
   ' начиная обзор диска с папки InitialPath
   ' возвращает массив путей к выбранным файлам, или пустую строку в случае отказа от выбора
   With Application.FileDialog(3) ' msoFileDialogFilePicker
       .ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
        If .Show <> -1 Then Exit Function
        Set GetFilenamesCollection = .SelectedItems
    End With
End Function
Там же есть пример использования:
Код:
Sub ПримерИспользования_GetFilenamesCollection()
    Dim СписокФайлов As FileDialogSelectedItems
    Set СписокФайлов = GetFilenamesCollection("Заголовок окна", ThisWorkbook.Path)   ' выводим окно выбора
    If СписокФайлов Is Nothing Then Exit Sub  ' выход, если пользователь отказался от выбора файлов

   For Each File In СписокФайлов
        msgbox File ' выводим сообщение с именем очередного файла
    Next
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 31.10.2013, 11:35   #4
lioon
Пользователь
 
Регистрация: 06.05.2011
Сообщений: 38
По умолчанию

Спасибо! На ваш сайт и опирался )
lioon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать выборку по базе только нужных изображений из папки? vold57 Microsoft Office Excel 2 09.06.2013 16:52
Как создать проект из нескольких файлов в Visual C++ alhon Общие вопросы C/C++ 7 15.03.2013 17:22
Из нескольких .csv файлов сделать excel таблицу aadafh Microsoft Office Excel 2 18.08.2012 22:06
Как выбрать из нескольких файлов одновременно ЦЕРЦЕЯ Microsoft Office Excel 0 20.01.2010 16:16
Как получить имена нескольких файлов выделенных в OpenDialog Comer_Jus Общие вопросы Delphi 2 26.05.2008 19:47