CommonDialog2.Filter = "All Access Files (*.xls)|*.xls|"
'set the defult filter type
CommonDialog2.FilterIndex = 2
CommonDialog2.FileName = ""
CommonDialog2.Flags = cdlOFNFileMustExist Or cdlOFNAllowMultiselect Or cdlOFNExplorer '设置属性允许选择多个文件
CommonDialog2.ShowOpen
strfilename = GetFiles(CommonDialog2.FileName)'调用 GetFiles函数
Private Function GetFiles(filestr As String) As String '当选择多个文件时,获取各文件完整的文件名
Dim I As Integer
Dim FileName As String
Dim filenames
FileName = filestr
If InStr(FileName, Chr(0)) = 0 Then '如果只选择了一个文件就返回这个文件名
GetFiles = FileName
Exit Function
End If
filenames = Split(FileName, Chr(0)) 'filenames(0)内内容为路径名,filenames(1)为第一个文件名(不包含路径),filenames(2)为第二个文件名,……
If Right(filenames(0), 1) = "\" Then
GetFiles = filenames(0)
Else
For I = 1 To UBound(filenames)
GetFiles = GetFiles & filenames(0) & "\" & filenames(I) & ","
Next
GetFiles = Left(GetFiles, Len(GetFiles) - 1)
End If
End Function
示例:Dim OpenFiles,FileNamePath,FileName
dim i as integer
With CommonDialog1
.FileName = ""
.DefaultExt = "*.*"
.MaxFileSize = 10000
.FilterIndex = 0
.Filter = "*.xls|*.xls"
.Flags = &H200 Or &H80000 Or &H4 ' Or cdlOFNFileMustExist
.ShowOpen
End With
OpenFiles = Split(ComDlg.FileName, Chr(0)) '获取选择的一个或多个文件路径
For i = 0 To UBound(OpenFiles) '将文件路径加入list控件中以方便控制
If UBound(OpenFiles) >= 1 Then
If i = UBound(OpenFiles) Then
Exit Function
End If
FileNamePath = OpenFiles(0) & OpenFiles(i + 1)’文件的全路径
FileName = OpenFiles(i + 1)’文件名
Else
'选单个文件的时候
FileNamePath = ComDlg.FileName
FileName = ComDlg.FileTitle
End If
'下面取到文件的路径和文件名进行导入的文件
’自己写代码
next i