我需要修复此行,它说对象需要: 如果FullName.Contains(",")那么
这是我的代码:
Private Sub retrieveinput_Click()
FullName = inputText.Text
Dim NameArray() As String
If FullName.Contains(",") Then
NameArray = Split(FullName, ",")
First = NameArray(1)
Last = NameArray(0)
Else
NameArray = Split(FullName)
First = NameArray(0)
Last = NameArray(1)
End If
TextBox2.Text = First
TextBox3.Text = Last
End Sub
答案 0 :(得分:2)
你不能这样做:
Dim foo As String
foo = "foobar"
If foo.Contains("bar") Then
...
这不是VB.NET,字符串不是VBA中的对象,因此没有Contains
方法可以调用。 VBA这样做的方法是使用InStr
函数,如下所示:
If InStr(FullName, ",") > 0 Then
请参阅此帖子:Check if a string contains another string
你也可以自己做一个这样的辅助函数:
Public Function Contains(ByVal string_source As String, ByVal find_text As String, Optional ByVal caseSensitive As Boolean = False) As Boolean
Dim compareMethod As VbCompareMethod
If caseSensitive Then
compareMethod = vbBinaryCompare
Else
compareMethod = vbTextCompare
End If
Contains = (InStr(1, string_source, find_text, compareMethod) <> 0)
End Function
然后你可以做
If Contains(FullName, ",") Then
答案 1 :(得分:-1)
诸如&#39;对象所需的错误&#39;通常意味着你错过了任务。在这种情况下,如果错误在行
If FullName.Contains(",") Then
然后FullName为null或尚未定义。这可能是因为以下原因:
在这些情况下检查的第一件事是您尝试访问顶层的变量是否具有值(即非空)