我有如下代码:
Dim sFile As StringSub Main()
    sFile = Dir("C:\*")
    Do Until sFile = ""
        Open sFile For Input As #1
        ……
        Close #1
        sFile = Dir
    Loop
End Sub经过检查后发现获取的时候并不按照文件名的顺序,我想知道如何按顺序获取?

解决方案 »

  1.   

    好像不能在搜索时排序吧
    用filelist试试
      

  2.   

    可以通过创建动态的Recordset来实现:
    示例如下:
     Dim sFile As String
     Dim Rs As New ADODB.Recordset
     Rs.CursorLocation = adUseClient
     Rs.Fields.Append "Name", adVarChar, adFldMayBeNull, adFldIsNullable + adFldUpdatable
     Rs.Open
     sFile = Dir("C:\*")
     Do Until sFile = ""
       Rs.AddNew
       Rs.Fields(0).Value = sFile
       Rs.Update
       sFile = Dir
     Loop
     Rs.Sort = "Name"
     ''以上实现排序,以下实现文件读取
     Rs.MoveFirst
     Do While Not Rs.EOF
     ' Debug.Print Rs!Name
     ' Open sFile For Input As #1
     '        ……
     ' Close #1
     Rs.MoveNext
     Loop