限定每行最大长度为45个文字。超过就自动换行及回车。文本框里可能是手工输入也有可能是粘贴。
帮帮忙啊!!最好能给段源码谢谢了。

解决方案 »

  1.   

    Private Sub Text1_Change()
        Dim a() As String
        Dim i As Long
        Dim bLineBroken As Boolean
        
        a = Split(Text1.Text, vbCrLf)
        For i = 0 To UBound(a)
            If Len(a(i)) > 45 Then
                a(i) = BreakLine(a(i))
                bLineBroken = True
            End If
        Next
        
        If bLineBroken Then
            Text1.Text = Join(a, vbCrLf)
        End If
    End Sub
    BreakLine 自己完成
      

  2.   

    大哥啊,能不能 BreakLine 也写好啊。我实在是太菜了
      

  3.   

    很简单嘛!
    Private Sub Text1_Change()
        Dim a() As String
        Dim i As Long
        Dim bLineBroken As Boolean
        
        a = Split(Text1.Text, vbCrLf)
        For i = 0 To UBound(a)
            If Len(a(i)) > 45 Then
                a(i) = BreakLine(a(i))
                bLineBroken = True
            End If
        Next
        
        If bLineBroken Then
            Text1.Text = Join(a, vbCrLf)
        End If
        Text1.SelStart = Len(Text1.Text)
    End Sub
    Private Function BreakLine(strT As String)
    BreakLine = Left(strT, 45) & vbCrLf & Mid(strT, 46)
    End Function