Ответ от brettdj (спасибо, brettdj) работает хорошо и, вероятно, я буду использовать метод, но я нашел кое-что еще, что также работает и может дать преимущество в других ситуациях. Во-первых, он сохраняет чрезвычайную простоту использования Dir для циклического перемещения по папкам.
В Excel 11 я использую Dir (как описано в вопросе), чтобы создать список файлов jpg из каждой папки (по одной папке за раз), отсортировав буквенно-цифровые значения в столбце A. Затем я использую пользовательский список для сортируйте Col A (поддельной) числовой сортировкой, чтобы я мог обрабатывать мои jpg в последовательном порядке. Затем очистите Col A и повторите со следующей папкой.
Чтобы создать пользовательский список:
в строке 1 рабочего столбца введите
=ROW() & ".jpg"
и Fill Down до любой масти. В моем случае я использовал 1000 элементов в своем пользовательском списке, потому что это максимальное количество jpg, которое я ожидаю в любой папке.
Пользовательские списки принимают только текст (или «простой текст» согласно справке MS), поэтому вновь созданный список формул необходимо преобразовать в текст, используя Вставить> Специальные> Значения, перед импортом в качестве Пользовательского списка. Каждый элемент в списке является одним из ожидаемых имен файлов. Окончательный пользовательский список выглядит следующим образом:
1.jpg
2.jpg
3.jpg
…
…
1000.jpg
После того, как я импортирую свой новый пользовательский список (Инструменты> Параметры> Пользовательские списки> Импорт), он становится доступным выбором в раскрывающемся меню в меню «Данные»> «Сортировка»> «Параметры»> «Порядок сортировки по первому ключу».
Если вы делаете это с VBA, то вот что предоставляет Recorder:
Range("A:A").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=6, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Первые 5 пользовательских списков встроены в Excel, поэтому OrderCustom: = 6 - это новый пользовательский список. Не забудьте изменить это обратно на OrderCustom: = False при обычной сортировке. Пользовательские списки остаются прикрепленными к Wkb, в котором они созданы, до тех пор, пока они не будут удалены.