天天看点

vb 操作textBox内的内容

///

//选中光标所在的行内容

//

Public Function getTextBoxOneLine(tbBox As TextBox) As String
    
    On Error GoTo er
    
    Dim strOneline As String, numMidPosiont As Long, N As Long
    Dim topLine As String, bottomLine As String, a As String
    
    '//取得行内容
    numMidPosiont = tbBox.SelStart '光标所在位置
    'If numMidPosiont = 0 Then Exit Function '光标为0退出
    
    '//取得光标左边内容

    N = 1
    Do While InStr(topLine, vbCrLf) = 0
        a = Mid(Left(tbBox.Text, numMidPosiont), numMidPosiont - N + 1, 1) '取光标左边的字,然后逐个截取
        topLine = a & topLine
        'MsgBox topLine
        N = N + 1
    Loop
    topLine = Replace(topLine, vbCrLf, "")
    
    '//取得光标右边内容
    N = 1
    Do While InStr(bottomLine, vbCrLf) = 0
        a = Mid(Right(tbBox.Text, Len(tbBox.Text) - numMidPosiont), N, 1)   '取光标右边的字,然后逐个截取
        bottomLine = bottomLine & a
        'MsgBox bottomLine
        N = N + 1
    Loop
    bottomLine = Replace(bottomLine, vbCrLf, "")
    
    getTextBoxOneLine = topLine & bottomLine
    
    Exit Function
er:
    'MsgBox "自动增一行空白行" Err.Description, , "提示"
    tbBox.Text = vbCrLf & tbBox.Text & vbCrLf
End Function