标题:用shell获取文件路径及名称
只看楼主
maoniu
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2010-4-7
结帖率:57.14%
已结贴  问题点数:9 回复次数:4 
用shell获取文件路径及名称
Private Sub Command1_Click()
    Dim MyShell   As New Shell  '申明并实例化SHELL对象
    Dim MyFolder  As Folder     '文件夹对象
    '显示文件夹浏览对话框
    Set MyFolder = MyShell.BrowseForFolder(0, "请选择文件夹:", 0)
    '如果该对象释放则退出过程,否则输出文件夹路径
    If MyFolder Is Nothing Then Exit Sub
    MsgBox MyFolder.Self.Path

End Sub

想让文本框里显示文件名 代码怎么写啊?
搜索更多相关主题的帖子: shell 路径 名称 文件 获取 
2010-09-24 21:39
censeven
Rank: 1
等 级:新手上路
帖 子:3
专家分:6
注 册:2010-9-24
得分:2 
好像运行不了哦  
程序代码:
Private Sub Command1_Click()
Dim MyShell  As New Shell

Dim MyFolder As Folder
Set myforlder = MyShell.browseforfolder(0, "请选择文件件:", 0)

 If myforlder Is Nothing Then End

 MsgBox myforlder.self.Path

 


 
End Sub
用户类型未定义啊   
2010-09-24 22:53
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
得分:2 
text1.text=MyFolder.Self.Path

无知
2010-09-24 23:37
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:2 
一个Folder对象包含了一个指定文件夹的所有信息:子目录,其中的文件等等。使用items方法可以返回一个文件夹项目集合(FolderItems集合),这个集合里有指定目录中的所有子目录和文件。

---- FolderItems集合有一个count属性,可以通过它得到子目录和文件总数,这样你就能用一个“循环语句”历遍目录下的所有项目。同时你就可以用item方法返回一个FolderItem对象,对一个文件夹或文件进行操作,item方法有一个可选长整数参数,用来对集合中的项目索引。有了FolderItem对象,就能得到文件夹和文件的各种信息。FolderItem对象有如下主要属性:

GetFolder :如果项目是文件夹,就得到一个Folder对象

IsBrowsable :如果可以浏览就为True,否则为False

IsFileSystem :如果是系统文件夹或文件就为True,否则为False

IsFolder :如果是文件夹就为True,否则为False

ModifyDate :访问或更改的日期

Name :文件或目录名

Path :文件或目录的路径

Size :文件的大小

Type :文件的类型

Dim MyShell As Shell
Dim myFolder, myFolders
Set MyShell = New Shell

Set myFolder = MyShell.BrowseForFolder
(Form1.hWnd, "请选择一个文件夹", 0)
    Set myFolders = myFolder.Items()
    List1.Clear
   
    For i = 0 To myFolders.Count - 1
        List1.AddItem myFolders.Item(i).Name
    Next I


授人于鱼,不如授人于渔
早已停用QQ了
2010-09-25 07:54
ytsm0526
Rank: 2
来 自:西安市
等 级:论坛游民
威 望:2
帖 子:203
专家分:60
注 册:2007-10-28
得分:2 
Set wshShell = CreateObject("WScript.Shell")
Set wshLink = wshShell.CreateShortcut("c:\*.*")
GetTarget = wshLink.TargetPath
msgbox GetTarget

作舍道边,三年不成。
多抽出一分钟时间学习,让你的生命更加精彩!,
2010-09-25 22:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-321255-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.436098 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved