我在VB中使用了CommonDialog控件,设置了打开多个文件...

我在VB中使用了CommonDialog控件,设置了打开多个文件...,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

我在VB中使用了CommonDialog控件,设置了打开多个文件

然后加入了一个按钮,代码如下

With CommonDialog

.DialogTitle = "打开"

.CancelError = False

'ToDo: 设置 mon dialog 控件的标志和属性

.Filter = "所有文件 (*.*)|*.*"

'.Flags = &H200 Or &H1000 Or &H80000

.Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer

.ShowOpen

If Len(.FileName) = 0 Then

Exit Sub

End If

Filemanyaddress = .FileName

End With

Text1.Text = Filemanyaddress

但是当我运行时TEXT1这个文本框里只显示文件的目录,不显示文件的地址,怎么回事?

解析:

你的问题我明白

如果选择多个文件,则显示的是这些文件的文件夹名称

也就是你说的目录

你这样赋值得出来的结果就是这样的

你要进行判断将每一个文件的路径取出来

再进行显示

具体代码如下:

如果你想分行显示

先将Text的multiline=true

这是修改过后的代码,可以实现你要的功能

Private Sub Command1_Click()

With CommonDialog1

.DialogTitle = "打开"

.CancelError = False

'ToDo: 设置 mon dialog 控件的标志和属性

.Filter = "所有文件 (*.*)|*.*"

'.Flags = &H200 Or &H1000 Or &H80000

.Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer

.ShowOpen

If Len(.FileName) = 0 Then

Exit Sub

End If

filemanyaddress = .FileName

End With

····························

Files = Split(filemanyaddress, Chr(0))

For i = 1 To UBound(Files) Step 1

Files(i) = Files(0) &"\" &Files(i) '连接路径和文件名,组成文件数组

Next i

For i = 1 To UBound(Files) Step 1

strfilename = Files(i)

Text1.Text = strfilename &vbCrLf &Text1.Text

Next i

·····························

End Sub

做了一例,仅供参考。朋友。

Private

Sub

Form_Load()

Show

Me.AutoRedraw

=

True

CommonDialog1.ShowOpen'注意:在打开时要选择到文件,下面的过程会自动获取你要的文件夹路径

s

=

CommonDialog1.FileName

s

=

StrReverse(s)

n

=

InStr(s,

"\")

s

=

Mid(s,

n

+

1)

s

=

StrReverse(s)

Print

s

End

Sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11920138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存