根据excel文件名排序的有关问题。多谢

求助:根据excel文件名排序的问题。谢谢

arrFiles(i)里放的是   excel   文件名,如“资料20070102(小明).xls”
      我先把   日期“20070102”取出,进行排序,如果日期相同,对括号里的姓名进行排序。日期排序部分已完成,不知道   汉字   按拼音排序有没有相关的函数,没有的话,各位大侠又都是怎样解决的呢?
 
  For   j   =   0   To   UBound(arrFiles)   -   1
                For   k   =   1   To   UBound(arrFiles)
                      If   CLng(Mid$(arrFiles(j).Name,   5,   8))   >   CLng(Mid$(arrFiles(k).Name,   5,   8))   Then
                                Set   temp   =   arrFiles(j)
                                Set   arrFiles(j)   =   arrFiles(k)
                                Set   arrFiles(k)   =   temp
                      ElseIf   CLng(Mid$(arrFiles(j).Name,   5,   8))   =   CLng(Mid$(arrFiles(k).Name,   5,   8))   Then
                            .......     //不知道的部分          
                      End   If
                     
                     
                Next   k
        Next   j

------解决方案--------------------
你这个问题要写一个排序算法有一定的难度,有人通过用具有排序功能控件来解决的,我也给你一个方法,就是利用记录集来解决,几行代码就搞定,效率也还不错,示例代码如下:

'以下代码要引用“Microsoft AetiveX Date Objects 2.x Library”

Sub RecordsetSort(ByRef arr() As String)

Dim rs As New Recordset
Dim i As Integer

With rs
.Fields.Append "FSort ", adVarChar, 50
'.CursorType = adOpenKeyset
'.LockType = adLockOptimistic
.Open
For i = LBound(arr) To UBound(arr)
.AddNew
!FSort = arr(i)
.Update
Next
'.UpdateBatch
.Sort = "FSort ASC "
For i = LBound(arr) To UBound(arr)
arr(i) = !FSort
.MoveNext
Next
End With
Set rs = Nothing

End Sub

------解决方案--------------------
另一个办法:

排序让Excel来做

比如
A列放 "资料 "
B列放 "日期 "
C列放 "姓名 "

调用Excel自带的排序功能后再把结果取到数组