vb 如何删除文本框最后一行空行?
有时候一个,有时候不只1个.富文本框网上代码都不行.要把光标移到有文字的最后一行尾处.不行.PrivateSubCommand1_Click()IfRight(Text1...
有时候一个,有时候不只1个. 富文本框
网上代码都不行.
要把光标移到有文字的最后一行尾处.
不行.
Private Sub Command1_Click()
If Right(Text1.Text, 2) = vbCrLf Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
End Sub
Function myTrim(ByVal s As String) As String'''这函数也不行老报错
Dim Length As Long
Dim Char As String
If s <> "" Then
s = Trim(s)
Length = Len(s) + 1
Do
Length = Length - 1
Char = Mid(s, Length, 1)''这里老报错
Loop Until Char <> vbCr And Char <> vbLf
myTrim = Mid(s, 1, Length)
End If
End Function 展开
网上代码都不行.
要把光标移到有文字的最后一行尾处.
不行.
Private Sub Command1_Click()
If Right(Text1.Text, 2) = vbCrLf Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
End Sub
Function myTrim(ByVal s As String) As String'''这函数也不行老报错
Dim Length As Long
Dim Char As String
If s <> "" Then
s = Trim(s)
Length = Len(s) + 1
Do
Length = Length - 1
Char = Mid(s, Length, 1)''这里老报错
Loop Until Char <> vbCr And Char <> vbLf
myTrim = Mid(s, 1, Length)
End If
End Function 展开
7个回答
展开全部
1、打开Visual Basic 6.0软件,新建一个标准exe工程,窗体设计界面上添加一个Text1,一个Command控件;
2、设计Text1的Multiline属性值为True;
3、窗体上进入代码编辑界面,代码如下:
Private Sub Command1_Click()
If Right(Text1.Text, 2) = vbCrLf Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 2)
End Sub
Private Sub Form_Load()
Dim str As String
str = ""
str = str & "1" & vbCrLf
str = str & "2" & vbCrLf
str = str & vbCrLf
str = str & "3" & vbCrLf
str = str & "4" & vbCrLf
str = str & vbCrLf
str = str & "5" & vbCrLf
str = str & "6" & vbCrLf
str = str & vbCrLf
Text1.Text = str
End Sub
4、单击运行按钮或者按下F5,运行工程;
点击按钮前后发现最后一行空行被删除了:
展开全部
vbcrlf是两个字符,因此
Private Sub Command1_Click()
If Right(Text1.Text, 2) = vbCrLf Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
End Sub
中最后应该是-2,即
Private Sub Command1_Click()
If Right(Text1.Text, 2) = vbCrLf Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 2)
End Sub
Private Sub Command1_Click()
If Right(Text1.Text, 2) = vbCrLf Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
End Sub
中最后应该是-2,即
Private Sub Command1_Click()
If Right(Text1.Text, 2) = vbCrLf Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 2)
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Char = Mid(s, Length, 1)''这里老报错
如果是你所说的是因为有空格的原因的话,用ltrim()
或者直接用TRIM()去除二边的空格
如果是你所说的是因为有空格的原因的话,用ltrim()
或者直接用TRIM()去除二边的空格
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Command1_Click()
Do While InStr(vbCrLf, Right(RichTextBox1.Text, 1)) > 0
RichTextBox1.Text = Left(RichTextBox1.Text, Len(RichTextBox1.Text) - 1)
Loop
'RichTextBox1.Text = Trim(RichTextBox1.Text)'去掉所有空格
'RichTextBox1.Text = RTrim(RichTextBox1.Text) '去掉右边的空格
RichTextBox1.SetFocus
RichTextBox1.SelStart = Len(RichTextBox1.Text)
'RichTextBox1.SelStart = Len(RTrim(RichTextBox1.Text)) '不去掉空格
End Sub
Private Sub Command2_Click()
s = RichTextBox1.Text
Do While InStr(vbCrLf, Right(s, 1)) > 0
s = Left(s, Len(s) - 1)
Loop
's = Trim(s) '去掉所有空格
's = RTrim(s) '去掉右边的空格
RichTextBox1.SetFocus
RichTextBox1.SelStart = Len(s)
'RichTextBox1.SelStart = Len(RTrim(s)) '不去掉空格
End Sub
或用:
Do While Right(s, 2) = vbCrLf
s = Left(s, Len(s) - 2)
Loop
如果是Text控件,将RichTextBox1修改为Text1即可。
Do While InStr(vbCrLf, Right(RichTextBox1.Text, 1)) > 0
RichTextBox1.Text = Left(RichTextBox1.Text, Len(RichTextBox1.Text) - 1)
Loop
'RichTextBox1.Text = Trim(RichTextBox1.Text)'去掉所有空格
'RichTextBox1.Text = RTrim(RichTextBox1.Text) '去掉右边的空格
RichTextBox1.SetFocus
RichTextBox1.SelStart = Len(RichTextBox1.Text)
'RichTextBox1.SelStart = Len(RTrim(RichTextBox1.Text)) '不去掉空格
End Sub
Private Sub Command2_Click()
s = RichTextBox1.Text
Do While InStr(vbCrLf, Right(s, 1)) > 0
s = Left(s, Len(s) - 1)
Loop
's = Trim(s) '去掉所有空格
's = RTrim(s) '去掉右边的空格
RichTextBox1.SetFocus
RichTextBox1.SelStart = Len(s)
'RichTextBox1.SelStart = Len(RTrim(s)) '不去掉空格
End Sub
或用:
Do While Right(s, 2) = vbCrLf
s = Left(s, Len(s) - 2)
Loop
如果是Text控件,将RichTextBox1修改为Text1即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我试下:
vbCrLf 是回车符!两个字符长
Trim 是去掉行首和行尾的空格
Function myTrim(ByVal s As String) As String''
Dim Length As Long
Dim Char As String
If s <> "" Then '如果s不为空
s = Trim(s) '就去掉两端的空格
Length = Len(s) + 1 '字符串的长度 再加上1 应该加上2
Do ‘循环
Length = Length - 1 ’长度自减1 就是最后一个字符的位置 应该加上2
Char = Mid(s, Length, 1)'' ‘想取行尾的字符?
Loop Until Char <> vbCr And Char <> vbLf ’判断那个字符是不是回车
‘从而得到想截取的字符串的长度
myTrim = Mid(s, 1, Length) ’提取意愿中长度的字符串,就是想去掉回车?? 调用自身,递归!!!!
End If
.................
修改:
Private Sub Command1_Click()
If Right(Text1.Text, 2) = vbCrLf Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 2)’减去2
End Sub
Function myTrim(ByVal s As String) As String '
Dim Length As Long
Dim Char As String
If s <> "" Then
s = Trim(s)
Length = Len(s) + 2
Do
Length = Length - 2
Char = Mid(s, Length, 1) ''
Loop Until Char <> vbCr And Char <> vbLf
myTrim = Mid(s, 1, Length)
End If
End Function
‘测试后可用!!!!!
======================================
您的问题==我的课题 奉献知识==辉煌生命
黑龙江省 张志晨
========================================
vbCrLf 是回车符!两个字符长
Trim 是去掉行首和行尾的空格
Function myTrim(ByVal s As String) As String''
Dim Length As Long
Dim Char As String
If s <> "" Then '如果s不为空
s = Trim(s) '就去掉两端的空格
Length = Len(s) + 1 '字符串的长度 再加上1 应该加上2
Do ‘循环
Length = Length - 1 ’长度自减1 就是最后一个字符的位置 应该加上2
Char = Mid(s, Length, 1)'' ‘想取行尾的字符?
Loop Until Char <> vbCr And Char <> vbLf ’判断那个字符是不是回车
‘从而得到想截取的字符串的长度
myTrim = Mid(s, 1, Length) ’提取意愿中长度的字符串,就是想去掉回车?? 调用自身,递归!!!!
End If
.................
修改:
Private Sub Command1_Click()
If Right(Text1.Text, 2) = vbCrLf Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 2)’减去2
End Sub
Function myTrim(ByVal s As String) As String '
Dim Length As Long
Dim Char As String
If s <> "" Then
s = Trim(s)
Length = Len(s) + 2
Do
Length = Length - 2
Char = Mid(s, Length, 1) ''
Loop Until Char <> vbCr And Char <> vbLf
myTrim = Mid(s, 1, Length)
End If
End Function
‘测试后可用!!!!!
======================================
您的问题==我的课题 奉献知识==辉煌生命
黑龙江省 张志晨
========================================
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询