新建一个用户窗体,在该窗体上添加一个按键控件,一个列表控件,一个通用对话框控件.然后添加如下代码,即可实现多文件选取,并将选取的文件的文件名添加到列表控件中:
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 |