Перебор файлов по шаблону

Программирование на Visual Basic for Applications
MYF
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 12.05.2006 (Пт) 6:38
Откуда: Череповец

Перебор файлов по шаблону

Сообщение MYF » 11.10.2007 (Чт) 8:44

Перед началом работы надо скопировать несколько файлов (по списку) из сетевой папки A в локальную B. Список на каждом компе разный, потому хранится в отдельном текстовом файле. Но это всё ерунда.
Споткнулся на том, что в списке может попасться строка типа "\\Server\A\user??file*.doc". Надо как-то перебирать эти файлы по одному, проверять их дату, размер и копировать только обновлённые или отсутствующие.
Давным-давно делал нечто подобное на Pascal-е. Всё решалось 5-6 строками, а тут... ни как не найду функции для перебора файлов.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.10.2007 (Чт) 9:44

Dir
Lasciate ogni speranza, voi ch'entrate.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 11.10.2007 (Чт) 9:49

Точнее даже
Код: Выделить всё
sFileName = Dir$("\\Server\A\user??file*.doc")

для получения имени первого файла и
Код: Выделить всё
Dir$

для последующих файлов.

Поробности в MSDN.
Весь мир матрица, а мы в нем потоки байтов!

MYF
Новичок
Новичок
Аватара пользователя
 
Сообщения: 44
Зарегистрирован: 12.05.2006 (Пт) 6:38
Откуда: Череповец

Сообщение MYF » 11.10.2007 (Чт) 14:08

Спасибо, Viper. Сам я как-то не догадался :?
Получился список имён файлов без пути. Путь надо самому из исходной строки высчитывать? Или есть стандартная функция для его выделения?

Pavel55
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 27.10.2006 (Пт) 20:11

Сообщение Pavel55 » 11.10.2007 (Чт) 14:44

А разве вы не знаете путь к папке ?

Код: Выделить всё
Sub Макрос1()
    Dim iPath$, iFileName$

    iPath = "\\Server\A\"
    iFileName = Dir("\\Server\A\user??file*.doc")

    Do While iFileName <> ""
        'тут что-то делаете с каждым файлом,
        '............................
       
        iFileName = Dir 'передача названия другого файла
    Loop

End Sub

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 11.10.2007 (Чт) 15:30

По идее путь тебе известен изначально
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в VBA

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

Сейчас этот форум просматривают: Yandex-бот и гости: 81

    TopList