在下的就就问题如下:Private Sub Command1_click()
Dim s As String, c As String, n As Integer, m As Integer
s = Text1.Text
c = Text2.Text
n = InStr(s, c)
'如果n=0,待查找的子字符串不存在,因而下一语句出现运行错误
Text1.Text = Mid(s, 1, n - 1) + Text3.Text + Mid(s, n + Len(c))
'mid(s,1,n-1)为原文本第1~n-1个字符组成的串
'原文本第n~n+len(c)-1个字符组成的串,由text3.text替换
'mid(s,n+len(c))为原文本第n+len(c)~最后的字符组成的串
End Sub
问题是出现在: Text1.Text = Mid(s, 1, n - 1) + Text3.Text + Mid(s, n + Len(c))
但是我不知道是怎么错啦?请大家帮帮忙.谢谢!!!
Dim s As String, c As String, n As Integer, m As Integer
s = Text1.Text
c = Text2.Text
n = InStr(s, c)
'如果n=0,待查找的子字符串不存在,因而下一语句出现运行错误
Text1.Text = Mid(s, 1, n - 1) + Text3.Text + Mid(s, n + Len(c))
'mid(s,1,n-1)为原文本第1~n-1个字符组成的串
'原文本第n~n+len(c)-1个字符组成的串,由text3.text替换
'mid(s,n+len(c))为原文本第n+len(c)~最后的字符组成的串
End Sub
问题是出现在: Text1.Text = Mid(s, 1, n - 1) + Text3.Text + Mid(s, n + Len(c))
但是我不知道是怎么错啦?请大家帮帮忙.谢谢!!!
Dim s As String, c As String, n As Integer, m As Integer
s = Text1.Text
c = Text2.Text
n = InStr(s, c)
'如果n=0,待查找的子字符串不存在,因而下一语句出现运行错误
If n <= 0 Then Exit Sub
Text1.Text = Mid(s, 1, n - 1) + Text3.Text + Mid(s, n + Len(c))
'mid(s,1,n-1)为原文本第1~n-1个字符组成的串
'原文本第n~n+len(c)-1个字符组成的串,由text3.text替换
'mid(s,n+len(c))为原文本第n+len(c)~最后的字符组成的串
当没找到的时候n=0
那么mid(s,1,n-1)这时n-1=-1,Mid最后一个参数是长度,长度不能为负数。
Dim a As String
Dim b As String
Dim d As Long
a = Trim(Text1.Text)
b = Trim(Text2.Text)
d = 4 + Len(Text2.Text)
Text3.Text = Mid(a, 1, 3) + Text2.Text + Mid(a, d)
End Sub
If n <= 0 Then
Exit Sub
End If
如果加上If n <= 0 Then
Exit Sub
End If 还不行的话,我建议你仔细再学习一下VB的基础把。
Dim s As String, c As String, n As Integer, m As Integer
s = Text1.Text
c = Text2.Text
n = InStr(s, c) '在这个地方加上下面这句,如果n=0,则这段代码会出错<Mid(s, 1, n - 1)>。
If n <= 0 Then
Exit Sub
End If '如果n=0,待查找的子字符串不存在,因而下一语句出现运行错误
Text1.Text = Mid(s, 1, n - 1) + Text3.Text + Mid(s, n + Len(c))
'mid(s,1,n-1)为原文本第1~n-1个字符组成的串
'原文本第n~n+len(c)-1个字符组成的串,由text3.text替换
'mid(s,n+len(c))为原文本第n+len(c)~最后的字符组成的串
End Sub
Text1.Text = Replace(Text1.Text, TEXT2.Text, TEXT3.Text)
End Sub