Выборка из неопределённого количества xls файлов

Программирование на Visual Basic for Applications
romand
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 05.06.2006 (Пн) 14:33

Выборка из неопределённого количества xls файлов

Сообщение romand » 05.06.2006 (Пн) 14:37

Доброго дня!
Подскажите как реализовать:
Есть каталог, в который каждый день складываются файлы "zdDDMMYY.xls" (1 файл в день). Необходимо создать месячные отчёты на основании данных из этих суточных файлов.
Имея за плечами 3-х дневный опыт в VBA решил сделать так:

1. Считаем количество файлов в каталоге, указаном в ThisWorkbook.Worksheets("conf").Range("A1") (к примеру "C:\TEMP"), где месяц равен ThisWorkbook.Worksheets("UNITS").Range("D1"), и год
ThisWorkbook.Worksheets("UNITS").Range("E1"). В этих ячейках указываем MM, YY для периода выборки.
2. Динамически создаём связи в месячном отчёте к найденым именам файлов и получаем таблицу из (i = количество найденых файлов) ячеек

Вопрос:
1. Оптимально ли это решение
2. Если да, то как в выражении
"='" + .FoundFiles(i) + "'!AC6"
указать ещё и лист для связи
________
With Application.FileSearch
.NewSearch
.LookIn = ThisWorkbook.Worksheets("conf").Range("A1")
.SearchSubFolders = False
.Filename = "zd??" + ThisWorkbook.Worksheets("UNITS").Range("D1") + ThisWorkbook.Worksheets("UNITS").Range("E1")
.MatchAllWordForms = False
.FileType = msoFileTypeAllFiles
If .Execute() > 0 Then
MsgBox "За указанный период найдено " & .FoundFiles.Count & _
" файлов."
For i = 1 To .FoundFiles.Count
ThisWorkbook.Worksheets("UNITS").Cells(2, i + 1) = i
ThisWorkbook.Worksheets("UNITS").Cells(3, i + 1) = "='" + .FoundFiles(i) + "'!AC6"
Next i

Else
MsgBox "Нет Данных!"
End If
End With
________

Заранее спасибо,
Роман Дорош
Последний раз редактировалось romand 05.06.2006 (Пн) 16:55, всего редактировалось 1 раз.

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 05.06.2006 (Пн) 15:48

Все таки, xsl и xls это две большие разницы.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 49

    TopList