做条件vb6

时间:2013-01-09 14:10:05

标签: vb6 while-loop

我有一个小vb6程序:

Private Sub Form_Load()
    Dim varTemp As Variant
    Dim string1 As String

    Dim x As Integer
    x = 0

    dialog.Filter = "toate fisierele(*.*) | *.*"
    dialog.Flags = cdlOFNAllowMultiselect Or cdlOFNLongNames Or cdlOFNExplorer

    'open the window to select files
    dialog.ShowOpen

    varTemp = Split(dialog.FileName, vbNullChar)

    Do While (varTemp(x) <> "")

    string1 = varTemp(x)
    x = x + 1

    Loop

    Unload Form1
    End

End Sub

我希望Do While循环直到它到达varTemp的末尾。但是,当我从对话框中选择两个文件并且用x = 3命中“Do While”时,我得到“运行时错误'9':下标超出范围”。什么条件应该循环“Do While”循环直到varTemp结束?谢谢。

1 个答案:

答案 0 :(得分:4)

您可以改用:

Do While x <= UBound(varTemp)

由于varTemp将是一个数组,因此这将循环直到您点击数组中的最后一个元素。

如果用户取消选择,并且varTemp为空,您可以在循环之前检查空字符串,如下所示:

If varTemp <> vbNullString Then 
    Do While x <= UBound(varTemp)

        string1 = varTemp(x)
        x = x + 1

    Loop
End If