Function Seek(oSelect,sIndex) Dim i,j,iLength,sValue,iMatching,iMaxMatching iLength = oSelect.length If iLength = 0 Then Exit Function sIndex = UCase(sIndex) iMaxMatching = 0 oSelect.options(0).selected = true For i=0 to iLength -1 sValue = oSelect.options(i).text iMatching = 0 For j = 1 to Len(sIndex) If j>len(sValue) Then Exit For If ChangeTo(Mid(sValue,j,1)) = Mid(sIndex,j,1) Then iMatching = iMatching + 1 If iMatching > iMaxMatching Then oSelect.options(i).selected = true Else If Ucase(Mid(sValue,j,1)) = Mid(sIndex,j,1) Then iMatching = iMatching + 1 If iMatching > iMaxMatching Then oSelect.options(i).selected = true Else Exit For end if End If Next If iMatching > iMaxMatching Then iMaxMatching = iMatching 'ElseIf iMaxMatching <> 0 Then '如果列表无序,注释此行 'Exit For End If Next end function Function Seek1(rows,sIndex) Dim i,j,iLength,sValue,iMatching,iMaxMatching,ishidden iLength = rows.length If iLength = 0 Then Exit Function sIndex = UCase(sIndex) iMaxMatching = 0 For i=0 to iLength -1 sValue = rows(i).cells(0).innerText iMatching = 0 ishidden = false For j = 1 to Len(sIndex) If j>len(sValue) Then ishidden = true Exit For end if If ChangeTo(Mid(sValue,j,1)) <> Mid(sIndex,j,1) Then if UCase(Mid(sValue,j,1)) = Mid(sIndex,j,1) then ishidden = false else ishidden = true end if End If Next if ishidden then rows(i).style.display = "none" else rows(i).style.display = "" end if Next end function Function ChangeTo(CW) Dim iCode,aCode(25) If IsNumeric(CW) Then ChangeTo = CW Exit Function End If iCode = 65536 + Asc(CW) If iCode>=42517 and iCode<45265 Then ChangeTo = "A" ElseIf iCode>=45265 and iCode<45764 Then ChangeTo = "B" ElseIf iCode>=45764 and iCode<46323 Then ChangeTo = "C" ElseIf iCode>=46323 and iCode<46838 Then ChangeTo = "D" ElseIf iCode>=46838 and iCode<47010 Then ChangeTo = "E" ElseIf iCode>=47010 and iCode<47297 Then ChangeTo = "F" ElseIf iCode>=47297 and iCode<47614 Then ChangeTo = "G" ElseIf iCode>=47614 and iCode<48122 Then ChangeTo = "H" ElseIf iCode>=48122 and iCode<49064 Then ChangeTo = "J" ElseIf iCode>=49064 and iCode<49325 Then ChangeTo = "K" ElseIf iCode>=49325 and iCode<49904 Then ChangeTo = "L" ElseIf iCode>=49904 and iCode<50375 Then ChangeTo = "M" ElseIf iCode>=50375 and iCode<50614 Then ChangeTo = "N" ElseIf iCode>=50614 and iCode<50626 Then ChangeTo = "O" ElseIf iCode>=50626 and iCode<51105 Then ChangeTo = "P" ElseIf iCode>=51105 and iCode<51400 Then ChangeTo = "Q" ElseIf iCode>=51400 and iCode<51446 Then ChangeTo = "R" ElseIf iCode>=51446 and iCode<52219 Then ChangeTo = "S" ElseIf iCode>=52219 and iCode<52698 Then ChangeTo = "T" ElseIf iCode>=52698 and iCode<53186 Then ChangeTo = "W" ElseIf iCode>=53186 and iCode<53693 Then ChangeTo = "X" ElseIf iCode>=53693 and iCode<54483 Then ChangeTo = "Y" ElseIf iCode>=54483 and iCode<55285 Then ChangeTo = "Z" End If End Function