我有一个小的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的末尾。然而,当我从对话框中选择了两个文件,并且"Do While“命中x=3时,我得到了”运行时错误'9':下标超出范围“。"Do While“循环必须满足什么条件才能循环到varTemp结束?谢谢。
发布于 2013-01-09 22:15:23
您可以改用下面的代码:
Do While x <= UBound(varTemp)因为varTemp将是一个数组,所以它将一直循环,直到遇到数组中的最后一个元素。
如果用户取消选择,varTemp为空,您可以在循环前检查是否有空字符串,如下所示:
If varTemp <> vbNullString Then
Do While x <= UBound(varTemp)
string1 = varTemp(x)
x = x + 1
Loop
End Ifhttps://stackoverflow.com/questions/14237099
复制相似问题