Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _ hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _ lParam As Any) As LongConst EM_LINEINDEX = &HBBConst EM_LINELENGTH = &HC1' Return the specified line in a multiline TextBox control.Function TextBoxGetLine(tb As TextBox, ByVal lineNum As Long) As String Dim charOffset As Long, lineLen As Long ' Retrieve the character offset of the first character of the line. charOffset = SendMessage(tb.hwnd, EM_LINEINDEX, lineNum, ByVal 0&) ' Now it is possible to retrieve the length of the line. lineLen = SendMessage(tb.hwnd, EM_LINELENGTH, charOffset, ByVal 0&) ' Extract the line text. TextBoxGetLine = Mid$(tb.Text, charOffset + 1, lineLen)End Function