Циклы VBA в другом порядке, чем отображается в каталоге - PullRequest
0 голосов
/ 21 февраля 2020

Я перебираю каталог и беру определенные файлы, которые начинаются с определенной подстроки. Я бы предпочел l oop в том порядке, в котором файлы отображаются в каталоге, однако при циклическом выводе и выводе каждого имени файла он переходит к файлу, который находится не в следующем слоте порядка каталога. У кого-нибудь есть объяснение этому? Моя схема зацикливания выглядит следующим образом:

'open template file
Set templDoc = Documents.Open(tFile)

strFile = Dir$(strFolder & "16.*.doc")        ' can change to .docx

Count = 0

Do Until strFile = ""
    Count = Count + 1
    Set rng = templDoc.Range
    MsgBox strFile
    With rng
        .Collapse wdCollapseEnd
        If Count > 1 Then
            .InsertBreak wdSectionBreakNextPage
            .End = templDoc.Range.End
            .Collapse wdCollapseEnd
        End If
        .InsertFile strFolder & strFile
    End With
    strFile = Dir$()
Loop

Очередь каталогов: 16.2.1, 16.2.3.1, 16.2.3.2 ...

Порядок зацикливания: 16.2.1, 16.2. 10, 16.2.11 ...

Ясно, что сортирует их по-разному, но есть ли способ указать циклы в некотором роде "порядок каталога"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...