У меня есть следующий код, который предназначен для извлечения каждого имени файла по указанному пути c и помещения его в массив. По какой-то причине, хотя файлы в проводнике сортируются по алфавиту, код выводит их из строя. Мой подход заключается в том, чтобы сначала сохранить имена файлов в массив, а затем отсортировать массив. Есть ли лучший способ приблизиться к этому?
Кроме того, по какой-то причине строка с Debug.Print arr1 (i) печатает только пробелы в непосредственном окне. Пожалуйста, сообщите.
Dim arr1(1000) As String, item As Variant
Dim x As Long, y As Long, k As Integer
Dim TempTxt1 As String
Dim TempTxt2 As String
Dim FolderPath As String, path As String, count As Integer
Dim size As Integer, i As Integer
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("X:\test\testfolder")
For Each oFile In oFolder.Files
arr1(i) = Left(oFile.Name, Application.WorksheetFunction.Find(".", oFile.Name) - 1)
i = i + 1
Debug.Print arr1(i)
Next oFile
'Alphabetize Sheet Names in Array List
For x = LBound(arr1) To UBound(arr1)
For y = x To UBound(arr1)
If UCase(arr1(y)) < UCase(arr1(x)) Then
TempTxt1 = arr1(x)
TempTxt2 = arr1(y)
arr1(x) = TempTxt2
arr1(y) = TempTxt1
End If
Next y
Next x
введите код здесь