vba中搜索文件问题

比如在下,有一个文件夹名为“目标”,此文件夹中有一个word文档也名为“目标”,用.filesearch方法搜索c:\abc\,条件为含“目标”的文件,但只能找到word文档,不能把“目标”文件夹找出来,这个问题要怎么解决呢?
没人能回答我的问题吗?急啊

第1个回答  2011-08-20
Sub aa()
Dim MyFile, MyPath, MyName
MyPath = "c:\abc\" ' 指定路径。
MyName = Dir(MyPath, vbDirectory) ' 找寻第一项。
Do While MyName <> "" ' 开始循环。
' 跳过当前的目录及上层目录。
If MyName <> "." And MyName <> ".." Then
' 使用位比较来确定 MyName 代表一目录或者文件夹。
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory And MyName = "目标" Then
Debug.Print MyName ' 如果它是一个文件夹,且名称为"目标",将其名称显示出来。
End If
End If
MyName = Dir ' 查找下一个目录。
Loop
End Sub

若非要使用FileSearch方法,就需要使用FileSearch下面的属性:SearchFolders
这样子的Application.FileSearch.SearchFolders,具体用法详见excel帮助追问

有些帮助,不过你好像没完全明白我的意思,我是想把大文件夹下所有名称为“目标”的子文件夹、文件、以及子文件夹中的文件都找出来,你给的答案好像只能找一层,不能深入到子文件夹中去吧?

第2个回答  2011-08-20
vb.net的控制台程序查找所有.doc的文件:
Imports System
Imports System.IO
Imports System.Text
Module Module
Sub Main()
Dim di As New DirectoryInfo("F:\")
Dim fi As FileInfo() = di.GetFiles("*.doc", SearchOption.AllDirectories)
Console.WriteLine("The following files exist in the current directory:")
Dim fiTemp As FileInfo
For Each fiTemp In fi
Console.WriteLine(fiTemp.DirectoryName + "\" + fiTemp.Name)
Next fiTemp
Console.ReadKey()
End Sub
End Module本回答被网友采纳

vba中搜索文件问题
MyName = Dir(MyPath, vbDirectory) ' 找寻第一项。Do While MyName <> "" ' 开始循环。' 跳过当前的目录及上层目录。If MyName <> "." And MyName <> ".." Then ' 使用位比较来确定 MyName 代表一目录或者文件夹。If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirector...

vba查找文件夹的问题
必须分两步才能完成:第一步查找文件夹,第二步从找到的文件夹下找文件。如果你想要找到含有AE变量的所有文件夹里文件名包含AF变量的文件,要用两重循环才行

怎么用vba 做一个文件搜索程序
Set fs = Application.FileSearch'定义fs为文件搜索 With fs .LookIn = "C:\\"'搜索位置为C盘根目录 .FileName =worksheets("sheet1").cells(1,1) ’搜索名称为工作表1中的第一个单元格 If .Execute > 0 Then'如果搜索结果不为空 For i = 1 To .FoundFiles.Count worksheets("sheet1")....

VBA 搜索电脑所有盘文件,问题关键:所有盘文件用什么代码?
部分代码:Set Dic = CreateObject("Scripting.Dictionary") '创建一个字典对象 Set Did = CreateObject("Scripting.Dictionary") ‘我自己程序后面要用的,这部分不涉及这个 WP = InputBox("请输入解除路径,如:H:\\") '输入路径 '用来测试检测所有盘符=== If WP = "" Then For c = Asc(...

VBA遍历多级文件夹对文件中的内容进行查询(dir循环遍历)
由于之后的需求又升级为找脚本方面需要具有适用性,即脚本位于的文件夹的层级不确定,也就是说脚本的位置不确定,经过网上资料的查询即自我的构思,最后写下这篇遍历文件夹下所有的你需要的文件,闲话少说,进入正题。先设置一个场景:现在有一个文件夹test,其下有两个子文件夹A,B,A中有一些TXT文本...

VBA查找,新学find,但是不知道哪里出错了?
上面这句有问题,这里 Sheets.Count 得到的是源文件的工作表数量,改为:With Workbooks("更新表.xls").Sheets(Workbooks("更新表.xls").Sheets.Count)另一种改法,将下面两行换一下位置即可 Set wk = Workbooks.Open(ThisWorkbook.Path & "\\1.xls") '打开本目录下的源文件 With Workbooks("...

如何用excel vba按关键字选择性的遍历文件夹搜索文件?
Excel怎样批量提取文件夹和子文件夹所有文件 怎样批量提取文件夹下文件名

VBA 如何搜索文件夹下的一个特定文件,如果成功则返回路径
DIR("路径")有则返回文件名,没有则返加""每次调用都会得到下一个文件夹名字 可以用DO来做,判断返回的如果跟第一个一样,就说明已经查找了一圈了

【高分求代码!】用vba,如何检索一个文件夹里所有txt文件中,包含某一文...
'Set fc = fso.GetFile(WScript.ScriptFullName).ParentFolder.Files Set fc = fso.GetFolder("c:\\windows").Files '使用时把c:\\windows改成实际的文件夹 L = 1 For Each f1 In fc EXTName = UCase(fso.GetExtensionName(f1.Name))If EXTName = "TXT" Then Set fs = fso.OpenTextFile(...

如何使用VBA查找文件
如果知道文件所在文件夹,遍历文件夹中的文件,对文件名进行判断。如果不知道,从自己知道的那级开始遍历文件夹及其中的所有文件夹、文件

相似回答