我在用RSVIEW32(一个工业组态软件,带有VBA)编程的时候遇到一个问题,我想将一个类似于“AA|BB|CC|DD”这样的以“|”为分隔符的字符串分割,但是RSVIEW32带的VBA中没有Split函数,我想请将大家还有没有其它的方法分割字符串,非常感谢!!!

解决方案 »

  1.   

    left、right等函数从左到右一个字符一个字符的判断
      

  2.   

    instr mid函数组合
    redim preserve 数组
      

  3.   


    Function SplitString(ByVal S As String, ByVal T As String) As String()
        Dim R() As String, n As Long, i As Long, j As Long, k As Long
        n = Len(S) - Len(Replace(S, T, ""))
        ReDim R(n)
        j = 1
        For i = 0 To n
            k = InStr(j, S, T)
            If k > j Then
                R(i) = Mid(S, j, k - j)
            Else
                R(i) = Mid(S, j)
            End If
            j = k + 1
        Next i
        SplitString = R
    End FunctionPrivate Sub Form_Load()
        Dim a() As String, i As Integer
        a = SplitString("aa|bb|cc|dd|ee", "|")
        For i = 0 To UBound(a)
            Debug.Print a(i)
        Next i
        End
    End Sub
      

  4.   

    如果原字符串不必保留就不要用mid了,instr找到分隔符后left取出当前值存进数组,right砍下剩余的部分,do...loop不断循环直到结束...