Public Function Left2(ByVal lpString As String, ByVal lpCutLen As Integer) As String
    Dim i          As Integer
    Dim mLen       As Integer
    Dim mByteCount As Long
    Dim mSpace     As Boolean
    
    If lpString <> "" Then        For i = 1 To Strings.Len(lpString)
            mByteCount = mByteCount + Strings.LenB(StrConv(Strings.Mid(lpString, i, 1), vbFromUnicode))            If mByteCount > lpCutLen Then
                Exit For
            End If            mLen = mLen + 1            If mByteCount <> lpCutLen Then '到最一个字符,字节数不相等补空格
                mSpace = True
            Else
                mSpace = False
            End If        Next
     
        If mSpace Then
            Left2 = Strings.Left(lpString, mLen) & Space(1) '补空格
        Else
            Left2 = Strings.Left(lpString, mLen)
        End If    Else
        Left2 = ""
    End If
  
End Function'应用例子
Private Sub Command1_Click()
    Dim mStr As String
    Dim mTxt As String    mTxt = "Hi,欢迎光临 “新兴网络”"    'mStr = Left2(mTxt, 2) '截取 2 字节,返回:"Hi"
    'mStr = Left2(mTxt, 4) '截取 4 字节,返回:"Hi,"
    'mStr = Left2(mTxt, 5) '截取 5 字节,返回:"Hi,欢"
    'mStr = Left2(mTxt, 6) '截取 6 字节,返回:"Hi,欢"
    'mStr = Left2(mTxt, 11) '截取 11 字节,返回:"Hi,欢迎光临"
    mStr = Left2(mTxt, 12) '截取 12 字节,返回:"Hi,欢迎光临"
  
    MsgBox mStr
哪位大侠能帮我根据这个写一个类似于mid的函数啊,就是按照字节截取字符串