问题描述:
我在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 Command1_Click()Open "d:\a.txt" For Input As #1
w = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
Open "d:\b.txt" For Input As #1
e = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
Text1.Text = w &" " &e
End Sub
方法有很多,路径需要你自己改下
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)