返回列表 上一主題 發帖

[發問] 關於Dir 取得的清單做排序,感謝~

回復 2# ui123
  1. Sub Test()
  2.   Dim myFolder As String
  3.   Dim oFSO As Object, oFiles As Object, oFile As Object
  4.   Dim i, lCnt As Long
  5.   Dim arFiles()
  6.   
  7.   Const HIDDEN = &H2
  8.   myFolder = "C:\New folder\"
  9.   Set oFSO = CreateObject("Scripting.FileSystemObject")
  10.   Set oFiles = oFSO.getFolder(myFolder).Files
  11.   
  12.   ReDim arFiles(1 To oFiles.Count)
  13.   
  14.   '取出所有檔案
  15.   i = 0
  16.   For Each oFile In oFiles
  17.     If Right(oFile.Name, 5) = ".xlsx" Then
  18.       If (oFile.Attributes And HIDDEN) = 0 Then '不含隱藏檔
  19.         i = i + 1
  20.         arFiles(i) = oFile.Name
  21.       End If
  22.     End If
  23.   Next
  24.   If i = 0 Then MsgBox "Not Found" : Exit Sub
  25.   ReDim Preserve arFiles(1 To i)
  26.   
  27.   'array內排序
  28.   Dim temp, j
  29.   For i = 1 To UBound(arFiles)
  30.     For j = i + 1 To UBound(arFiles)
  31.       If arFiles(i) > arFiles(j) Then
  32.         temp = arFiles(i)
  33.         arFiles(i) = arFiles(j)
  34.         arFiles(j) = temp
  35.       End If
  36.     Next j
  37.   Next i
  38.   'arFiles 即為排序後陣列
  39.   
  40.   MsgBox Join(arFiles, vbCrLf)
  41. End Sub
複製代碼

TOP

        靜思自在 : 要批評別人時,先想想自己是否完美無缺。
返回列表 上一主題