vb 中一维字符串数组可以转化为字符串吗

编了个小程序
Dim b() As String
dim i as interger
for i=0 to 10
b (i)= Split(TextBox1.Text, vbCrLf)
next i
总显示
错误 1 类型“String 的 1 维数组”的值无法转换为“String”。 d

Split(TextBox1.Text, vbCrLf)返回的已经是数组了,用不着再循环赋值了。
b数组的元素类型为字符串类型,数组自然不能赋给它了,再说数组没有定义下标量。追问

我现在是想把TextBox1中的每行文字提取出来,放到一个数组里。这样不行的话,那怎么写好呢?

追答Private Sub Command1_Click()
    Dim a
    a = Split(Text1.Text, vbCrLf) '文本框默认名是text1,不是textbox1
    'a已经是数组了
    Dim b() As String
    ReDim b(UBound(a)) '如果要把a的元素赋给数组b,先定义它的下标量
    Dim i As Integer 'integer写错了
    For i = 0 To UBound(a)
        b(i) = a(i)
    Next i
    Debug.Print Join(b, ",")
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-29
b= Split(TextBox1.Text, vbCrLf)

for i=0 to ubound(b)

print "这是第" & i+1 & "行的内容!"
next i
第2个回答  2014-04-02
假设a是字符串数组b=a(1) & a(2) & a(3) & a(4)……
第3个回答  2014-03-29
直接b = Split(TextBox1.Text, vbCrLf)追问

这样写只能获取一行字符串,我现在需要它的每行文字。请问该怎莫修改啊?

追答

这个就是获取多行文本

第4个回答  2014-03-29
Option Explicit

Private Sub Command1_Click()
Dim i As Long, j As Long, k As Long, S As String, A() As String, n As Long

S = Trim(Text1.Text) & vbCrLf
j = Len(S)
If j = 0 Then Exit Sub
i = 1
Do
k = InStr(i, S, vbCrLf)
If k > 0 Then
n = n + 1
ReDim Preserve A(1 To n)
A(n) = Mid(S, i, k - i)
i = k + 2
Else
Exit Do
End If
DoEvents
Loop
For i = 1 To n
Print A(i)
Next i
Print "OVER"
End Sub