我有一个小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结束?谢谢。
答案 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