vb textbox控件中输入值的len值问题

例如我在text1中输入一个39873987很明显是个8位长度的一个字符串,但Len(text1.text)
的值却是10,我很费解,请各位多多关注,谢谢了。
我是在text1.text中直接输入一个 8位的数字的话,len(text1.text)=8 这个一点问题都没有。
你试着从Excel单元格中Copy出来一个同样的8位的数字的话(在excel中它前后是没有空格的,同时在Excel中用len函数检查也是等于8,这样一个8位数字) 粘贴到text1控件中,检查一下他的长度就与直接输入的不一样,结果len(text1.text)=10,你认为是什么原因呢!~

EXCEL复制出来的话 可能在后面会多个 CHR(9)之类的 看不到的东西在里面
这种事情常发生
所以 我处理先一般处理下的
text1=Replace(text1,chr(9),"")
text1=Replace(text1,chr(13),"")

等等的

你可以写一段代码检查下到底多了什么东西
程序嘛 要不断的找出可能出现的错误 避免它
Dim i As Integer
For i = 1 To Len(Text1)
MsgBox Asc(Mid(Text1, i, 1))
Next
温馨提示:内容为网友见解,仅供参考
无其他回答

VB编程,textbox的len有长度限制吗
Textbox 控件的 Text 设置值最多可以有 2048 个字符,但是如果 MultiLine 属性设置为 True,此时最大限制大约是 32K。 ---VB6.0 至于VB.Net,有个成员textbox.MaxLength可以设置

VB中TextBox控件的Maxlength属性的疑问
If Len(strHex) > 20 Then Text1 = Left(Text1, Len(Text1) - 1): Text1.SelStart = Len(Text1)End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) '限制不允许从中间输入 If Text1.SelStart <> Len(Text1.Text) Then KeyAscii = 0 End Sub 假如输入了9个英文,再敲入一个...

VB中TextBox控件的Maxlength属性的疑问
因为,一个汉字等于两个字节,而一个字母却等于一个字节

vb textbox 文本框 输入数字及要求 符合的给高分
Private Sub Form_Load()Text1 = ""Text2 = ""End Sub Private Sub Text1_Change()If Len(Text1) = 2 Then Text1 = Left(Text1, Len(Text1.Text) - 1)End Sub Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 End Sub Pri...

有关VB中TextBox控件的问题
Const xStr As String = "0123456789" '如果想限制其他的字符就都写进这里,如新身份证号中会有字母x,把x加进来,用户就只能输入数字和x了 Private Sub Text1_KeyPress(KeyAscii As Integer)KeyAscii = IIf(InStr(xStr & Chr(8), Chr(KeyAscii)), KeyAscii, 0)End Sub ...

VB中旳文本框怎么限制输入旳字符数,
VB中旳文本框要限制输入旳字符数,可以选中这个文本框后,在它的“属性”面板中设置它的MaxLength属性为10,就设定了这个文本框中最多可以输入10个字符。也可以用代码进行这项设置:Text1.MaxLength=10 如果设置MaxLength属性为0(默认值),就是不人为限制它的最多字符数,其最大值由VB系统确定:在...

vb中TextBox最多能输入多少字符
对于单行文本框控件,若将 MaxLength 属性设置为 0,则用户能输入的最大字符数为 2147483646 或一个基于可用内存的数目,两数之间选取较小者。意思就是你的可用内存足够大的话,可以输入2147483646 个字符。对于多行文本框控件,用户能输入的最大字符数为 4294967295 或一个基于可用内存的数目,两数之间...

VB 里如何限制RichTextBox输入字节的长度
RichText1.MaxLength=6 这样就只能输入6个字符了 需要注意的是,VB中英文和中文都算一个字符

有关vb中 textbox换行的问题
Private Sub Command1_Click()For i = 0 To Int(Len(Text1.Text) \/ 20)strl = strl & Mid(Text1.Text, i * 20 + 1, 20) & vbCrLf Next i Text1.Text = strl End Sub 我感觉楼上的回答最简单,我的是输入完成后才做的,误解了!呵呵!

vb 文本框输入约束问题~~
'只允许输入数字 If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) And KeyAscii <> 8 Then KeyAscii = 0 End If '首位必须是0 If Left(Text1.Text, 1) = "" And KeyAscii <> Asc("0") Then KeyAscii = 0 MsgBox "首位必须是0"End If '设置最长为5位数 If Len(Text1.Text...

相似回答