选择多个文件是: CommonDialog1.Flags = CommonDialog1.Flags OR cdlOFNAllowMultiselect
Const OFN_ALLOWMULTISELECT = &H200& Const OFN_HIDEREADONLY = &H4 Const OFN_LONGNAMES = &H200000 Const OFN_EXPLORER = &H80000 Dlg.Flags = OFN_ALLOWMULTISELECT Or OFN_HIDEREADONLY Or OFN_LONGNAMES Or OFN_EXPLORER
Const OFN_ALLOWMULTISELECT = &H200& Const OFN_HIDEREADONLY = &H4 Const OFN_LONGNAMES = &H200000 Const OFN_EXPLORER = &H80000 Dlg.Flags = OFN_ALLOWMULTISELECT Or OFN_HIDEREADONLY Or OFN_LONGNAMES Or OFN_EXPLORER可以选择多个,但怎样知道到底选了什么文件呢?Dlg.FileName得到的只是选择的目录而已,
'下面的函数得到所选的多个文件名(包括路径),每个文件名以vbcrlf分开 '这下满意了吧!!!!!!!!!!! Private Function GetFileName() As String Dim i As Integer Dim fileNames() As String Dim wStr As String Const OFN_ALLOWMULTISELECT = &H200& Const OFN_HIDEREADONLY = &H4 Const OFN_LONGNAMES = &H200000 Const OFN_EXPLORER = &H80000
Dlg.FileName = "" Dlg.Filter = "All Files|*.*" 'Dlg.Filter = "*.txt|*.txt" Dlg.Flags = OFN_ALLOWMULTISELECT Or OFN_HIDEREADONLY Or OFN_LONGNAMES Or OFN_EXPLORER Dlg.Action = 1
Dlg.FileName = Dlg.FileName
If Len(Dlg.FileName) > 0 Then fileNames = Split(Dlg.FileName, Chr(0)) wStr = "" If UBound(fileNames) = 0 Then GetFileName = fileNames(0) Else For i = 1 To UBound(fileNames) wStr = wStr & vbCrLf & fileNames(0) & "\" & fileNames(i) Next GetFileName = Right(wStr, Len(wStr) - 2)
CommonDialog1.Flags = CommonDialog1.Flags OR cdlOFNAllowMultiselect
Const OFN_HIDEREADONLY = &H4
Const OFN_LONGNAMES = &H200000
Const OFN_EXPLORER = &H80000
Dlg.Flags = OFN_ALLOWMULTISELECT Or OFN_HIDEREADONLY Or OFN_LONGNAMES Or OFN_EXPLORER
Const OFN_HIDEREADONLY = &H4
Const OFN_LONGNAMES = &H200000
Const OFN_EXPLORER = &H80000
Dlg.Flags = OFN_ALLOWMULTISELECT Or OFN_HIDEREADONLY Or OFN_LONGNAMES Or OFN_EXPLORER可以选择多个,但怎样知道到底选了什么文件呢?Dlg.FileName得到的只是选择的目录而已,
'这下满意了吧!!!!!!!!!!!
Private Function GetFileName() As String
Dim i As Integer
Dim fileNames() As String
Dim wStr As String
Const OFN_ALLOWMULTISELECT = &H200&
Const OFN_HIDEREADONLY = &H4
Const OFN_LONGNAMES = &H200000
Const OFN_EXPLORER = &H80000
Dlg.FileName = ""
Dlg.Filter = "All Files|*.*"
'Dlg.Filter = "*.txt|*.txt"
Dlg.Flags = OFN_ALLOWMULTISELECT Or OFN_HIDEREADONLY Or OFN_LONGNAMES Or OFN_EXPLORER
Dlg.Action = 1
Dlg.FileName = Dlg.FileName
If Len(Dlg.FileName) > 0 Then
fileNames = Split(Dlg.FileName, Chr(0))
wStr = ""
If UBound(fileNames) = 0 Then
GetFileName = fileNames(0)
Else
For i = 1 To UBound(fileNames)
wStr = wStr & vbCrLf & fileNames(0) & "\" & fileNames(i)
Next
GetFileName = Right(wStr, Len(wStr) - 2)
End If
Else
GetFileName = ""
End If
End Function