如何获取 所有文件c从路径中获取文件名及文件名

查看: 8651|回复: 14
如何用VBA得到一个文件夹下及所有子目录中xls文件名和文件路径
阅读权限20
在线时间 小时
请各位高手帮忙解答下 如何用VBA得到一个文件夹下及所有子目录中xls文件名和文件路径?非常感谢!
阅读权限70
在线时间 小时
貌似用字典可以找到
阅读权限20
在线时间 小时
引子玄 发表于
貌似用字典可以找到
可以说的在具体点吗&&多谢!
阅读权限70
在线时间 小时
hkcrystal 发表于
可以说的在具体点吗&&多谢!
只是猜想,我对字典才刚接触,不太懂
阅读权限30
在线时间 小时
Sub 获取D盘中所有Excel文件()&&'包括子目录
& & With CreateObject(&WScript.Shell&)
& &&&.Popup .Exec(&cmd.exe /c dir/s d:\*.xl*&).StdOut.ReadAll, , &显示目录&
& & End With
抄的。。。
阅读权限95
在线时间 小时
阅读权限90
在线时间 小时
Sub test()
& & Dim i&, d As Object, st$
& & Set d = CreateObject(&scripting.dictionary&)
& & st = InputBox(&请输入&, &起始目录&, &c:&)
& & With Application.FileSearch
& && &&&.LookIn = st
& && &&&.FileType = msoFileTypeExcelWorkbooks
& && &&&.SearchSubFolders = True
& && &&&If .Execute(SortBy:=msoSortByFileName, _
& && && && && && &&&SortOrder:=msoSortOrderAscending) & 0 Then
& && && && &For i = 1 To .FoundFiles.Count
& && && && && & If Not d.exists(.FoundFiles(i)) Then d.Add .FoundFiles(i), &&
& && && && &Next i
& && &&&End If
& & End With
& & If d.Count & 0 Then Sheet1.Range(&a1&).Resize(d.Count) = Application.Transpose(d.keys)
End Sub
复制代码
阅读权限20
在线时间 小时
yangyangzhifeng 发表于
把文件路径放到数组 怎么操作
文件个数怎么引用?
文件路径怎么引用?
阅读权限90
在线时间 小时
Sub test()
& & Dim i&, d As Object, st$
& & Set d = CreateObject(&scripting.dictionary&)
& & st = InputBox(&请输入&, &起始目录&, &c:&)
& & With Application.FileSearch
& && &&&.LookIn = st
& && &&&.FileType = msoFileTypeExcelWorkbooks
& && &&&.SearchSubFolders = True
& && &&&If .Execute(SortBy:=msoSortByFileName, _
& && && && && && &&&SortOrder:=msoSortOrderAscending) & 0 Then
& && && && &For i = 1 To .FoundFiles.Count
& && && && && & If Not d.exists(.FoundFiles(i)) Then d.Add .FoundFiles(i), &&
& && && && &Next i
& && &&&End If
& & End With
& & Dim arr()
& & ReDim arr(0 To d.Count - 1)
& & MsgBox d.Count
& & If d.Count & 0 Then arr = d.keys
End Sub复制代码d.count就是文件数量,用arr(?)可引用文件全路径
阅读权限30
在线时间 小时
dir函数就可以,具体参考Excel帮助就行
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师查看: 6495|回复: 10
如何用VBA取出已知路径中的最后的文件名
如何用VBA取出已知路径中的最后的文件名
比如& && && &d:\Documents and Settings\dir1\dir2\设立验资一次到位数据.xls
如何取出& &设立验资一次到位数据.xls
Sub Test()
& & Dim fso As Object
& & Dim p As String, f As String
& &
& & Set fso = CreateObject(&Scripting.FileSystemObject&)
& & p = &d:\Documents and Settings\dir1\dir2\设立验资一次到位数据.xls&
& & f = fso.GetFileName(p)
& & MsgBox f
& & Set fso = Nothing
End Sub复制代码
可能是我没说清楚,我的意思是取出最后的文件名这个字符串
Sub Test2()
& & Dim fso As Object
& & Dim p As String, f As String
& &
& & Set fso = CreateObject(&Scripting.FileSystemObject&)
& & p = &d:\Documents and Settings\dir1\dir2\设立验资一次到位数据.xls&
& & f = fso.GetBaseName(p)
& & MsgBox f
& & Set fso = Nothing
End Sub复制代码这样吗
谢谢版主的回答,怎么还要设置几个对象?还有没有更简单开直接的方法,比如VBA函数之类的,再重申一下我的问题:
比如已知路径& &d:\Documents and Settings\dir1\dir2\设立验资一次到位数据.xls
如何取出其中的&设立验资一次到位数据.xls&这个字符串
baojianming 发表于
可能是我没说清楚,我的意思是取出最后的文件名这个字符串
f不就是你要的文件名吗?
直接的函数不知道有没有
但可以用一些字符的基本处理函数就能得出你要的后面的文件名啊
谢谢各位的回答,还有一问,如何取前面的路径”d:\Documents and Settings\dir1\dir2\“
Sub Test3()
& & Dim fso As Object
& & Dim p As String, str As String
& & Set fso = CreateObject(&Scripting.FileSystemObject&)
& & p = &d:\Documents and Settings\dir1\dir2\设立验资一次到位数据.xls&
& & str = fso.GetParentFolderName(p)
& & If str = && Then
& && &&&str = p
& & Else
& && &&&str = str & &\&
& & End If
& & MsgBox str
& & Set fso = Nothing
End Sub复制代码if语句是为防错加的,至于怎么修改好,看实际问题了。暂时没想到更好的办法。
如果处理的情况简单,的确是可以用字符串函数做。
既然有专门的文件系统对象,个人觉得还用专门的这个更好。
Function ParseFileName(sFileIn As String) As String& && && && &&&'在FullName中取出FileName
& & Dim i As Integer
& & For i = Len(sFileIn) To 1 Step -1
& && &&&If InStr(&\&, Mid$(sFileIn, i, 1)) Then Exit For
& & ParseFileName = Mid$(sFileIn, i + 1, Len(sFileIn) - i)
End Function
|||Excel精英培训
Powered byVC编程中如何获得完整的文件路径和文件名_乐收 >
> 详细信息VC编程中如何获得完整的文件路径和文件名 发布于: 18:19:42在VC编程对文件进行操作时,理常需要获得文件的完整路径和文件名,那么在程序中应该使用什么方法来获取它们呢?
其实这个问题很容易解决,VC编程中使用CFileDialog类中的GetFilePath()函数即可获得一个文件包含其文件名在内的完整路径,而在仅需要获得文件名的情况下,刚可以通过GetFileName()函数来实现.具体的实现代码如下:
CFileDialog openDig(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_EXPLORER);
if(IDCANCEL==openDlg.DoModal())
m_stredit=openDlg.GetPathName();
m_strstatic=openDlg.GetFileName();
文章均为计算机编程原创,转载请注明本文地址:链接地址:本网站是对计算机语言、数据结构、算法、编译器等,进行介绍讲解的;对有计算机编程爱好进行计算机编程方面知识,交流,分享网站,将努力做到与计算机相关的人员都知的网站!联系信息QQ: 相关查询正文 php获取目录中所有文件名及判断文件与目录的方法
php获取目录中所有文件名及判断文件与目录的方法
发布时间: & 编辑:
本文介绍下,在php中用于获取目录中的所有文件名,以及判断文件与目录的函数,有需要的朋友参考下吧。
//打开当前目录下的目录pic下的子目录common。
$handler = opendir(&pic/common&);
2、循环读取目录下的所有文件
复制代码 代码示例:
/*其中$filename = readdir($handler)
每次循环时将读取的文件名赋值给$filename,$filename !== false。
一定要用!==,因为如果某个文件名如果叫&0&,或某些被系统认为是代表false,用!=就会停止循环
while( ($filename = readdir($handler)) !== false )
& //略过linux目录的名字为&.'和&..&的文件
& if($filename != &.& && $filename != &..&)
&&& //输出文件名
&&&&& echo $
3、关闭目录
复制代码 代码示例:
closedir($handler);
二,php判断文件和目录函数
复制代码 代码示例:
//检查上级目录下的目标对象logo.jpg是否是文件。
$checkResult = is_file(&../logo.jpg&);
说明:如果目标对象是文件,系统返回true,否则返回false。
复制代码 代码示例:
//检查上级目录下的目标对象logo.jpg是否是目录。
$checkResult = is_dir(&../logo.jpg&);
说明:如果目标对象是目录系统返回true,否则返回false。您可能感兴趣的文章:}

我要回帖

更多关于 从路径中获取文件名 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信