Всего-то надо чтобы макрос под Excel XP
забирал имена файлов из указанной директории и подавал их в правильном порядке дальше, для записи в List1
Я попытался сделать это с помощью Dir$ примерно следующим образом:
- Код: Выделить всё
.....
ChDir$ ("[i]MyPath[/i]")
sFile = Dir$("[i]MyPath[/i]\*.xls")
'Ну и далее банальный цикл:
While sFile <> ""
If sFile = "[i]Myfile.xls[/i]" Then GoTo skipmyself
'Далее следуют действия по вырезанию из файлов и вставке в [i]Myfile.xls (я их здесь опускаю)
[/i]
:skipmyself
sFile = Dir$
Wend
Как тут же выяснилось к моему огорчению в отличие от системной команды Dir /o или DIR|SORT в VB она не сортирует файлы
Заглянул в HELP по VBA - там нашел только следующее по DIR:
"Tip Because file names are retrieved in no particular order, you may want to store returned file names in an array, and then sort the array"
Ладно, создал массив, поместил туда sFile - все отлично.. Но битых 2 часа искал по хелпу какую-нибудь специальную функцию или метод по сортировке массива - ничего!!! (
сравнивать их построчно или в записывать в List1 и там сортировать а потом снова считывать - это не самый оптимальный метод... или все-таки нет такой функции в VB?