“打开”窗口,能不能选择同时选择文件和文件夹?

optop 2008-07-15 11:58:17
要做一项功能,利用vb自带的类似“打开”窗口,可以同时选择文件和文件夹。能否提供思路,或者相关功能的控件。谢谢
...全文
98 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tgstgstgs 2008-09-17
  • 打赏
  • 举报
回复
'里面用到的控件: CommonDialog1 Text1 Text2 Command1

'Text1: 存放路径名
'Text2: 存放多个文件名,文件名之间用空格分开

Private Sub Command1_Click()
Dim I As Integer
Dim Y As Integer
Dim Z As Integer
Dim FileNames$()

Const OFN_ALLOWMULTISELECT = &H200&

CommonDialog1.FileName = ""
CommonDialog1.Filter = "All Files|*.*"
CommonDialog1.Flags = OFN_ALLOWMULTISELECT
CommonDialog1.Action = 1
CommonDialog1.FileName = CommonDialog1.FileName & Chr(32) '多个文件之间用空格分开

Z = 1

For I = 1 To Len(CommonDialog1.FileName)
I = InStr(Z, CommonDialog1.FileName, Chr(32))
If I = 0 Then Exit For
ReDim Preserve FileNames(Y) '字符串数组存放目录名和文件名
FileNames(Y) = Mid(CommonDialog1.FileName, Z, I - Z) '查找的起始位置和目标位置间的内容为目录名和文件
Z = I + 1
Y = Y + 1
Next

If Y = 1 Then
Text1.Text = FileNames(0)
Else
Text2.Text = ""
For I = 0 To Y - 1
If I = 0 Then
Text1.Text = FileNames(I)
Else
Text2.Text = Text2.Text & UCase(FileNames(I)) & Chr$(13) & Chr$(10)
End If
Next
End If
End Sub
tgstgstgs 2008-09-17
  • 打赏
  • 举报
回复
'里面用到的控件: CommonDialog1 Text1 Text2 Command1

'Text1: 存放路径名
'Text2: 存放多个文件名,文件名之间用空格分开

Private Sub Command1_Click()
Dim I As Integer
Dim Y As Integer
Dim Z As Integer
Dim FileNames$()

Const OFN_ALLOWMULTISELECT = &H200&

CommonDialog1.FileName = ""
CommonDialog1.Filter = "All Files|*.*"
CommonDialog1.Flags = OFN_ALLOWMULTISELECT
CommonDialog1.Action = 1
CommonDialog1.FileName = CommonDialog1.FileName & Chr(32) '多个文件之间用空格分开

Z = 1

For I = 1 To Len(CommonDialog1.FileName)
I = InStr(Z, CommonDialog1.FileName, Chr(32))
If I = 0 Then Exit For
ReDim Preserve FileNames(Y) '字符串数组存放目录名和文件名
FileNames(Y) = Mid(CommonDialog1.FileName, Z, I - Z)'[color=#FF]查找的起始位置和目标位置间的内容为目录名和文件名[/color]
Z = I + 1
Y = Y + 1
Next

If Y = 1 Then
Text1.Text = FileNames(0)
Else
Text2.Text = ""
For I = 0 To Y - 1
If I = 0 Then
Text1.Text = FileNames(I)
Else
Text2.Text = Text2.Text & UCase(FileNames(I)) & Chr$(13) & Chr$(10)
End If
Next
End If
End Sub
tgstgstgs 2008-09-17
  • 打赏
  • 举报
回复
里面用到的控件: CommonDialog1 Text1 Text2 Command1

Text1: 存放路径名
Text2: 存放多个文件名,文件名之间用空格分开
Private Sub Command1_Click()
Dim I As Integer
Dim Y As Integer
Dim Z As Integer
Dim FileNames$()
Const OFN_ALLOWMULTISELECT = &H200&
CommonDialog1.FileName = ""
CommonDialog1.Filter = "All Files|*.*"
CommonDialog1.Flags = OFN_ALLOWMULTISELECT
CommonDialog1.Action = 1
CommonDialog1.FileName = CommonDialog1.FileName & Chr(32) '多个文件之间用空格分开
Z = 1
For I = 1 To Len(CommonDialog1.FileName)
I = InStr(Z, CommonDialog1.FileName, Chr(32))
If I = 0 Then Exit For
ReDim Preserve FileNames(Y) '字符串数组存放目录名和文件名 FileNames(Y) = Mid(CommonDialog1.FileName, Z, I - Z) '查找的起始位置和目标位置间的内容为目录名和文件名
Z = I + 1
Y = Y + 1
Next
If Y = 1 Then
Text1.Text = FileNames(0)
Else
Text2.Text = ""
For I = 0 To Y - 1
If I = 0 Then
Text1.Text = FileNames(I)
Else
Text2.Text = Text2.Text & UCase(FileNames(I)) & Chr$(13) & Chr$(10)
End If
Next
End If
End Sub
lihome2002 2008-07-16
  • 打赏
  • 举报
回复
把文件路径分开不就是文件夹名和文件名了,不知道楼主想要什么?
东方之珠 2008-07-16
  • 打赏
  • 举报
回复
在窗体中添加控件Drive1、Dir1、File1,分别是驱动器列表框、目录列表框、文件列表框。单击即选中。
optop 2008-07-16
  • 打赏
  • 举报
回复
自己顶下。。。。。。。。。
optop 2008-07-16
  • 打赏
  • 举报
回复
我的意思是:某个文件夹下有多个文件和文件夹,我要选择这“多个文件和文件夹”,然后取得这些文件夹名和文件名。1楼只能选择单个的文件夹或文件吧。谢谢。

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧