Public Function LineText(txtRichBox As RichTextBox, lineNumber As Long) _
       As String
    Dim nRet As Long
    nRet = SendMessage(txtRichBox.hWnd, EM_LINEINDEX, lineNumber - 1, _
           ByVal 0)
    LineText = Space(SendMessage(txtRichBox.hWnd, EM_LINELENGTH, _
               nRet, ByVal 0) + 2)
'    Mid(LineText, 1, 1) = Chr(LenB(StrConv(LineText, vbFromUnicode)) Mod 256)
'    Mid(LineText, 2, 1) = Chr(LenB(StrConv(LineText, vbFromUnicode)) \ 256)
    Mid(LineText, 1, 1) = Chr(Len(LineText) Mod 256)
    Mid(LineText, 2, 1) = Chr(Len(LineText) \ 256)    nRet = SendMessage(txtRichBox.hWnd, EM_GETLINE, lineNumber - 1, _
           ByVal LineText)    Debug.Print Len(StrConv(LineText, vbFromUnicode)), nRet
    LineText = Mid(LineText, 1, nRet)
End Function
我用了这段代码可以取到英文内容的某一行,但是有中文时出乱码,如果使用textBox则没有这个现象!!
有没有更好的方法,可以推荐