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

作者&投稿:陈没褚 (若有异议请与网页底部的电邮联系)
VB 关于使用CommonDialog控件打开多个文件并将其文件名加入List控件中的问题~

Private Sub Command1_Click()
CommonDialog1.DialogTitle = "打开文件"
CommonDialog1.Filter = "All Files(*.*)|*.*"
CommonDialog1.Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer
CommonDialog1.ShowOpen
Dim p, s
If Len(CommonDialog1.FileName) <= 3 Then
Exit Sub
Else
p = Split(CommonDialog1.FileName, vbNullChar)(0)
If UBound(Split(CommonDialog1.FileName, vbNullChar)) > 0 Then
For Each s In Split(CommonDialog1.FileName, vbNullChar)
If s p Then
If Right(p, 1) "\" Then p = p & "\"
'List1.AddItem p & s '带具体路径
List1.AddItem s '只显示文件名
End If
Next
End If
End If
End Sub

commondialog1.Filter = "文本文件(.txt)|*.txt"
Filter属性是commondialog控件打开文件类型的过滤,可以是一种,也可以是多种:
commondialog1.Filter = "文本文件(.txt)|*.txt|Word文件(.doc)|*.doc|Jpg文件(.jpg)|*.jpg"

你的问题我明白
如果选择多个文件,则显示的是这些文件的文件夹名称
也就是你说的目录
你这样赋值得出来的结果就是这样的
你要进行判断将每一个文件的路径取出来
再进行显示
具体代码如下:
如果你想分行显示
先将Text的multiline=true
这是修改过后的代码,可以实现你要的功能
Private Sub Command1_Click()
With CommonDialog1
.DialogTitle = "打开"
.CancelError = False
'ToDo: 设置 common 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

我这里显示没问题啊,是全部路径,是不是你的TEXT太短了?拉长点试试
那就不知道了,我这里显示一切正常,是完整路径


狗狗吃vbco是什么要
狗狗吃vbco是什么用?不知道你这里的VBCO是什么东西,好像没有办法帮你解答,假如是维生素类,那么应该是狗狗缺少这些东西才吃。

陶哲轩又来安利AI工具了:新论文排版用上VSCode Copilot+插件_百度知 ...
知名数学家陶哲轩在社交平台上分享了他的最新论文排版工具推荐——VSCode Copilot+插件。这是他继推广GPT-4的代码功能后,再次为AI工具打call。陶哲轩表示,他每5-10年会更换一次编辑工具,以适应技术发展。他曾经用过Word,主要是因其VB脚本功能,但因Word对LaTeX兼容性差,他很快就放弃了。现在的选择...

黄色小药片上面写着VB和CO的是治什么的?
我到医生那儿拿的药,有一种我不明白.药片上有"vb","vb"下有一横,一横下面有"CO"两个字母,我以为是B族维生素,可我买的B族维生素上面没有这些“字符标记”,药片是黄色的,请问这种药片叫什么?你好,根据你的描述,应该是复合维生素B片,复合维生素B(维生素BCO):VitaminBCO【作用与用途】每片含有Vit...

VB 控件使用问题,高手请进
默认使用的类厂是IClassFactory。 一般情况下,new或CreateObject已经够用了。但是如果我们的com组件增加了授权,也就是使用了IClassFactory2接口。那么在vb中继续用这种方法就不能创建我们所需要的组件了。我们必须使用IClassFactory2。 在C++中实现很简单。只需要通过CoGetClassObject获得IClassFactory2接口,然后调用它...

vb编写一个龟兔赛跑程序,代码
MsgBox "知足常乐,每天在赌场提走500++金币就好了。贪心会输大的。" & vbCrLf & "最后祝福大家把赌场当提款机,有更好的方法记得分享!", vbYes, "死亡CO说:" End Sub Private Sub Label13_Click(Index As Integer) If Timer1.Interval = 0 Then If Label11(Index).Caption = "0" Then On Error GoTo...

如何在excel中将65%co30%poly5%elas分列?
答:利用公式或Excel本身功能还不太好办,我编写了段程序实现了分列功能。假设数据在A列,运行程序后效果见图:方法:按ALT+F11,打开vb编辑器,"插入"--"模块",在窗口代码中贴入下面代码:运行Demo程序(光标置于demo程序中按F5键)即得到结果。Sub Demo() Dim Orng As Range Set Orng = ...

VB 全局数组怎么搞?
定义在代码的最上面,用private 或者dim 都可以 dim a(100) as integer Private Sub CommandButton1_Click()dim i as integer for i =0 to 50 a(i)=B next End Sub Private Sub CommandButton52_Click()dim i as integer for i =51 to 100 a(i)=c next End Sub ...

vb药有什么作用
人体必需维生素B族有九种,在体内滞留的时间只有数小时,必须每天补充。B族是所有人体组织必不可少的营养素,是食物释放能量的关键。全是辅酶,参与体内糖、蛋白质和脂肪的代谢,因此被列为一个家族。

vb数据库查询问题,高手请进
先把adodc与datacobox控件关联起来,在dataresourse属性中指定数据库类型,如EXCEL,ACCESS……,再指明数据表单,还要指定datacobox控件的datafeild属性与adodc的哪个字段关联

vb怎么将多个点用光滑曲线连起来,并画出这条曲线的平均线
'set the co?rdinates pts(0).x = 22: pts(0).y = 33 pts(1).x = 66: pts(1).y = 55 pts(2).x = 177: pts(2).y = 88 pts(3).x = 199: pts(3).y = 111 pts(4).x = 299: pts(4).y = 222 pts(5).x = 80: pts(5).y = 333...

昌宁县15657051412: Image1.Picture = LoadPicture("App.path & " \ " & Data1.Recordset.Fields(16)") vb提示类型不匹配,咋 -
邴段安素: Image1.Picture = LoadPicture(“D:\程序\系统工程\人员管理系统\图片名字+后缀") 如过是动态加载图片可以用个 CommonDialog1.Filter = "所有文件(*.*)|*.*" CommonDialog1.FilterIndex = 1 CommonDialog1.ShowOpen i = CommonDialog1.FileName Picture1.Picture = LoadPicture(i)

昌宁县15657051412: 用VB编的菜单中保存的代码怎么编?
邴段安素: private sub baocun_click() ' 设置“CancelError”为 True CommonDialog1.CancelError = True On Error GoTo ErrHandler ' 设置标志 CommonDialog1.Flags = cdlOFNHideReadOnly ' 设置过滤器 CommonDialog1.Filter = "All Files (*.*)|*.*|Text ...

昌宁县15657051412: VB如何利用CommonDialog控件把图片存入数据库
邴段安素: 'then commondialog name is dia private sub CommSave_Click() dim filename as string dim i as integer dim fileData() as byte filename=dia.showopen if trim(filename)="" or dir(filename)="" then msgbox "文件路径不对" exit sub end if i=...

昌宁县15657051412: 求代码:VB6 如何调用CommonDialog1 OPEN对话框选择多个文件到ListView1里~~~ -
邴段安素: Private Sub Command1_Click() Dim f As Variant, itm As ListItem, i As Integer, p As String With CommonDialog1 .FileName = "" .Flags = cdlOFNFileMustExist Or cdlOFNAllowMultiselect Or cdlOFNExplorer .MaxFileSize = 32737 .ShowOpen If ...

昌宁县15657051412: vb6.0 调色板 -
邴段安素: 用VB6写调色板的话可以调用通用对话框的调色板实现. 点 工程\部件 在弹出的对话框中将Microsoft Common Dialog Control6.0 打钩 然后在控件工具栏会有CommonDialog控件,在窗体中添加一个CommonDialog控件,一个commandButton控件. '按钮控件的代码如下 '单击按钮可弹出调色板 Private Sub Command1_Click() CommonDialog1.ShowColor '将调色板选中的颜色赋给ForeColor ForeColor = CommonDialog1.Color End Sub

昌宁县15657051412: vb高手来 VB资源编辑器
邴段安素: 第一步:添加控件 启动VB6,新建一个“标准EXE”工程.在“工程”菜单中选择“部件”,弹出对话框后,分别勾选“Windows Media Player”和“Microsoft Common Dialog Control 6.0”两个复选框,单击“确定”,将上述两个控件添加到...

昌宁县15657051412: 如何用CommonDialog控件实现保存 -
邴段安素: 代码没错,在我这里运行一切正常.提示“该部件的许可证信息没有找到,在设计环境中,没有合适的许可证使用该功能”是VB的常见错误,运行这个许可证修复补丁就可以啦:http://blog.bm8.com.cn/default.asp?tag=vb%E6%8E%A7%E4%BB%B6%E8%AE%B8%E5%8F%AF%E8%AF%81%E9%94%99%E8%AF%AF%E8%A1%A5%E4%B8%81

昌宁县15657051412: vb用对话框打开excel -
邴段安素: 怎样打开excel我不会,不过想要选择文件,选择路径,那就需要下面的控件了:microsoft common dialog control 6.0 找到这个部件,添加一个到窗体上,然后在代码中加如下两句:commondialog1.filter="*.*|*.*" commondialog1.showopen 这样就可以选择文件了,更多内容你可以搜索一下commondialog的教程!

昌宁县15657051412: win7怎么安装vc2015 -
邴段安素: 在Win7上安装Zune出现缺少Windows 7 Portable Device Update的解决方法 如题,我的操作系统是Windows 7 旗舰版,在安装Zune时出现“未安装所需的“Windows 7 Portable Device Update”安装包”. 在网上找了很久的答案,最终找到了完美解决这个问题...

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网