首页上一页 1 下一页尾页 1 条记录 1/1页
廖
发表在VB答疑区
2010-09-15
是否精华
是
否
版块置顶:
是
否
在视频学Visual Basic里的实列11\11.6中运行代码,点击“选择文件”对话框打开后,点击“取消”会报错“实时错误‘13’ 类型不匹配”, 错误提示在If UBound(arr) > LBound(arr) Then,我查看后获知显示arr为“空”,我的理解是当点击“取消”后,没有文件被选中,UBound函数不能对“空”的数组取值,所以出现“类型不匹配”的错误,注解掉代码中的CancelError = False 也不行,分析后确定该代码与上述错误没有关系。但是不知道怎么去解决。
指教为盼!
Option Explicit
Private Sub Command1_Click()
Dim arr, i As Integer '声明变体变量arr,整型变量i
List1.Clear '清除列表项
With CommonDialog1 '复用语句
.Flags = cdlOFNAllowMultiselect + cdlOFNExplorer '设置对话框样式
.CancelError = False '点"取消"按钮不报错
.FileName = "" '清空文件名
.ShowOpen '显示文件多选对话框
If .FileName <> "" Then '当已选择文件时
arr = Split(.FileName, Chr(0)) '将字符串拆分为数组
End If
End With
If UBound(arr) > LBound(arr) Then '当数组长度大于1时
Label1.Caption = "路径:" & arr(LBound(arr)) '显示文件所在路径
For i = LBound(arr) + 1 To UBound(arr) '显示文件所在路径
List1.AddItem arr(i) '在列表项中添加文件名称
Next i
Else
File1.FileName = CommonDialog1.FileName '设置文件名属性用于获取所选文件路径
Label1.Caption = "路径:" & File1.Path '显示文件所在路径
List1.AddItem File1.FileName '在列表项中添加文件名称
End If
End Sub
Private Sub Command2_Click()
End
End Sub
指教为盼!
Option Explicit
Private Sub Command1_Click()
Dim arr, i As Integer '声明变体变量arr,整型变量i
List1.Clear '清除列表项
With CommonDialog1 '复用语句
.Flags = cdlOFNAllowMultiselect + cdlOFNExplorer '设置对话框样式
.CancelError = False '点"取消"按钮不报错
.FileName = "" '清空文件名
.ShowOpen '显示文件多选对话框
If .FileName <> "" Then '当已选择文件时
arr = Split(.FileName, Chr(0)) '将字符串拆分为数组
End If
End With
If UBound(arr) > LBound(arr) Then '当数组长度大于1时
Label1.Caption = "路径:" & arr(LBound(arr)) '显示文件所在路径
For i = LBound(arr) + 1 To UBound(arr) '显示文件所在路径
List1.AddItem arr(i) '在列表项中添加文件名称
Next i
Else
File1.FileName = CommonDialog1.FileName '设置文件名属性用于获取所选文件路径
Label1.Caption = "路径:" & File1.Path '显示文件所在路径
List1.AddItem File1.FileName '在列表项中添加文件名称
End If
End Sub
Private Sub Command2_Click()
End
End Sub