
Function bytes2BSTR(vIn)
 Dim i
    strReturn = ""
    For i = 1 To LenB(vIn)
        ThisCharCode = AscB(MidB(vIn,i,1))
        If ThisCharCode < &H80 Then
            strReturn = strReturn & Chr(ThisCharCode)
        Else
            NextCharCode = AscB(MidB(vIn,i+1,1))
            strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
            i = i + 1
        End If
    Next
    bytes2BSTR = strReturn
End Function

    Function ReplaceC(ByVal strValue)
        If strValue = "" Then
                ReplaceC = ""
                Exit Function
        End If

        Dim iValue
        strValue = Split(strValue, "||")

        Dim sArr(), n, i, bRepeat
        n = 0
        ' 转入无重复数据
        For i = 0 To UBound(strValue)
		If n = 0 Then
                    n = n + 1
                    ReDim sArr(n)
                    sArr(n) = strValue(i)
                Else
                    bRepeat = False
                    For j = 1 To UBound(sArr)
                        If UCase(strValue(i)) = UCase(sArr(j)) Then
                            bRepeat = True
                            Exit For
                        End If
                    Next
                    If bRepeat = False Then
                        n = n + 1
                        ReDim Preserve sArr(n)
                        sArr(n) = strValue(i)
                    End If
                End If
        Next

        For k = 0 To UBound(sArr)
		If iValue = "" Then
                    iValue = sArr(k)
                Else
                    iValue = iValue & "||" & sArr(k)
                End If
	Next
	ReplaceC = iValue
    End Function

    Function ReplaceCs(ByVal strValue)
        If strValue = "" Then
                ReplaceCs = ""
                Exit Function
        End If

        Dim iValue
        strValue = Split(strValue, "|")

        Dim sArr(), n, i, bRepeat
        n = 0
        ' 转入无重复数据
        For i = 0 To UBound(strValue)
		If n = 0 Then
                    n = n + 1
                    ReDim sArr(n)
                    sArr(n) = strValue(i)
                Else
                    bRepeat = False
                    For j = 1 To UBound(sArr)
                        If UCase(strValue(i)) = UCase(sArr(j)) Then
                            bRepeat = True
                            Exit For
                        End If
                    Next
                    If bRepeat = False Then
                        n = n + 1
                        ReDim Preserve sArr(n)
                        sArr(n) = strValue(i)
                    End If
                End If
        Next

        For k = 0 To UBound(sArr)
		If iValue = "" Then
                    iValue = sArr(k)
                Else
                    iValue = iValue & "|" & sArr(k)
                End If
	Next
	ReplaceCs = iValue
    End Function