要求,当按下 Command 的时候复制剪切版的内容到 TEXT 中,当剪切版文本为连窜的时候,如: “111111” 或者“55555” 提示格式错误,当剪切版文本不为连窜的时候 “2222 8888” 或者 “2222  7898989” 复制剪切版的内容到 TEXT 中。

解决方案 »

  1.   

    要求,当按下 Command 的时候复制剪切版的内容到 TEXT 中,但TEXT中的数据格式为“111 1111”中间一个空格的格式,当剪切版文本为连窜的时候,如: “111111” 或者“55555” 提示格式错误,当剪切版文本不为连窜的时候 “2222 8888” 或者 “2222  7898989” 复制剪切版的内容到 TEXT 中,但自动把 “111  111”或者“1111   2122”中间2个或者更多空格的格式转换为中间一个空格。总的来说就是TEXT只接受 111 111 的格式 数据+空格+数据 ,剪切板的内容为 单行数据的时候提示。谢谢。
      

  2.   

    instr找到第一个空格位置
    replace替换掉所有的空格
    mid在第一个空格的位置放一个空格
      

  3.   

    Private Sub Text1_Change()
        If Instr(Text1, Space(1)) <= 0 Then
            MsgBox "Bad Data Format!"
            'Recover Text
            Text1 = Text1.Tag
            Exit Sub
        End If    Do While Instr(Text1, Space(2)) >= 0
            Text1 = Replace(Text1, Space(2), Space(1))
        Loop    Text1.Tag = Text1
    End Sub
      

  4.   

    Private Sub Command1_Click()
        Dim strTemp$
        strTemp = Clipboard.GetText()
        If (InStr(1, strTemp, " ") = 0) Then
            MsgBox "格式错误!", 48, "Error"
            Exit Sub
        End If
        '判断是否为多行
        If (InStr(1, strTemp, vbLf) > 0) Then
            MsgBox "格式错误!", 48, "Error"
            Exit Sub
        End If
        While (InStr(1, strTemp, "  ") > 0) '注意引号中是两个空格.
            strTemp = Replace(strTemp, "  ", " ")
        Wend
        Text1.Text = strTemp
    End Sub
      

  5.   

    再加几句代码:
    Private Sub Command1_Click()
        Dim strTemp$, i&
        strTemp = Clipboard.GetText()
        If (InStr(1, strTemp, " ") = 0) Then
            MsgBox "格式错误!", 48, "Error"
            Exit Sub
        End If
        '判断是否为多行
        If (InStr(1, strTemp, vbLf) > 0) Then
            MsgBox "格式错误!", 48, "Error"
            Exit Sub
        End If
        While (InStr(1, strTemp, "  ") > 0) '注意引号中是两个空格.
            strTemp = Replace(strTemp, "  ", " ")
        Wend
        '判断是否为多段
        if (InStr(InStr(1, strTemp, " ")+1, strTemp, " ") > 0) Then
            MsgBox "格式错误!", 48, "Error"
            Exit Sub
        End If
        Text1.Text = strTemp
    End Sub