|
发表于 2010-6-20 20:33:00
|
显示全部楼层
新建一个用户窗体,在该窗体上添加一个按键控件,一个列表控件,一个通用对话框控件.然后添加如下代码,即可实现多文件选取,并将选取的文件的文件名添加到列表控件中:
Private Sub cmd_添加_Click()
Dim I As Integer
Dim Y As Integer
Dim Z As Integer
Dim FileNames() As String
On Error GoTo errHandle
With comDlg
.CancelError = True
.MaxFileSize = 32767
'&H4 隐藏只读复选框
'&H200 允许多重选择
'&H8000 不能具有只读属性,也不能在写保护目录下面
'&H80000 类似资源管理器的打开
'&H100000 不要间接引用外壳链接(也称作快捷方式)
.flags = &H4 Or &H200 Or &H8000 Or &H80000 Or &H100000
.DialogTitle = "选择图形文件"
.Filter = "图形文件(*.dwg)|*.dwg|所有文件(*.*)|*.*"
.fileName = ""
.ShowOpen
End With
comDlg.fileName = comDlg.fileName & Chr(0) '这些文件名是用空字符Chr(0)分隔符,而不是空格分隔符隔开
Z = 1
For I = 1 To Len(comDlg.fileName)
'InStr函数,返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。
'语法 InStr(起点位置, string1, string2)
I = InStr(Z, comDlg.fileName, Chr(0))
If I = 0 Then Exit For
ReDim Preserve FileNames(Y)
'Mid函数,返回 Variant (String),其中包含字符串中指定数量的字符。语法 Mid(string, start[, length])
FileNames(Y) = Mid(comDlg.fileName, Z, I - Z)
Z = I + 1
Y = Y + 1
Next I
'向列表框中添加对象
Dim count As Integer
count = Lst_文件表.ListCount
If Y = 1 Then
Lst_文件表.AddItem FileNames(Y - 1), count
Else
For I = 1 To Y - 1
FileNames(I) = FileNames(0) & "\" & FileNames(I)
Lst_文件表.AddItem FileNames(I), I - 1 + count
Next I
End If
errHandle:
End Sub |
|