搜档网
当前位置:搜档网 › 下面这段代码可以遍历指定文件夹下所有XLS文件

下面这段代码可以遍历指定文件夹下所有XLS文件

下面这段代码可以遍历指定文件夹下所有XLS文件
下面这段代码可以遍历指定文件夹下所有XLS文件

下面这段代码可以遍历指定文件夹下所有xls文件,但:

1.文件夹下的xls文件可以返回到工A列,但子文件夹下的xls文件就不行

2.想同时在B列后能返回xls文件名下的工作表名称

Private Sub CommandButton1_Click()

Dim fn As String

Dim r As Long

fn=Dir(ThisWorkbook.Path&"\*.xls")

While fn<>""

r=r+1

Cells(r,1)=fn

fn=Dir()

Wend

End Sub

Sub汇总()

Dim sh As Worksheet,FileName As String,rng As Range,sht As Worksheet

Set sht=ActiveSheet

FileName=Dir(ThisWorkbook.Path&"\*.xls")'待汇总文件

Do

If FileName<>https://www.sodocs.net/doc/ec8265828.html, Then'如果当前文件不是汇部表,则处理此文件Set rng=sht.Range("A5").End(xlDown)'确定合计最上方的空单元格

If rng="合计"Then'如果当前单元格是“合计”项

rng.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove'插入空行

Set rng=rng.Offset(-2,0)'调整单元格的位置

End If

Set sh=Workbooks.Open(ThisWorkbook.Path&"\"& FileName).Worksheets("Sheet1")'打开待汇总文件

rng.Offset(1,0)=sh.[M4]'填充编号

rng.Offset(1,1)=sh.[C4]'填充姓名

rng.Offset(1,2)=sh.[M18]'填充总价

sh.Parent.Close(False)'关闭文件

End If

FileName=Dir()'遍历下一个文件

Loop While FileName<>""

End Sub

这段小程序就把一个EXCEL文件中每个工作表的A1单元格填上了a

Sub tt()

For i=1To ActiveWorkbook.Worksheets.Count

ActiveWorkbook.Worksheets(i).Cells(1,1).Value="a"

Next

End Sub

多个格式相同的EXCEL文件合并(每个EXCEL都有多个SHEET),网上找了一代码,修改了下,但还需要进一步处理,可是我不会,所以来这请教高手们了。1:我从第2到第N张表,表头内容就不复制了,但是下面关键代码有错,不知道怎么改,谢谢了。

Workbooks(dirname).Sheets(3).Range("A2", Cells.SpecialCells(xlCellTypeLastCell)).Copy_

Sheets(3).Range("a65536").End(xlUp).Offset(1,0)

2:还有遍历EXCEL文件家所有SHEET,能不能写成循环呀.

不然

'复制新打开工作簿的第2个工作表的已用区域到当前工作表

Workbooks(dirname).Sheets(2).UsedRange.Copy_

Sheets(2).Range("a65536").End(xlUp).Offset(1,0)这段代码导致我有几个SHEET 就要写几次,好麻烦呀.....

Sub UnionWorksheets()大家如果有更好的函数,或者代码能实现多个EXCEL文件数据合并的,也可以贴出.

谢谢大家了。

Dim i As Long'循环变量

i=0

Dim insert_row As Long'合并文件中的粘贴位置Application.ScreenUpdating= False

Dim lj As String

Dim dirname As String

Dim nm As String lj=ActiveWorkbook.Path

nm=https://www.sodocs.net/doc/ec8265828.html,

dirname=Dir(lj&"\*.xls")Cells.Clear Do While dirname<>""

If dirname<>nm Then

i=i+1Workbooks.Open filename:=lj&"\"& dirname Workbooks(nm).Activate'复制新打开工作簿的第一个工作表的已用区域到当前工作表'大哥们这个能不能写成循环,不然一个sheet来做一次好麻烦呀. Workbooks(dirname).Sheets(1).UsedRange.Copy_

Sheets(1).Range("a65536").End(xlUp).Offset(1,0)

'复制新打开工作簿的第2个工作表的已用区域到当前工作表

Workbooks(dirname).Sheets(2).UsedRange.Copy_

Sheets(2).Range("a65536").End(xlUp).Offset(1,0)

'复制新打开工作簿的第3个工作表的已用区域到当前工作表

If i=1Then

Workbooks(dirname).Sheets(3).UsedRange.Copy_

Sheets(3).Range("a65536").End(xlUp).Offset(1,0)

Else'大哥们,我从第2到第N张表,表头内容就不复制了,但是下面代码有错,不知道怎么改,谢谢了。

Workbooks(dirname).Sheets(3).Range("A2",

Cells.SpecialCells(xlCellTypeLastCell)).Copy_

Sheets(3).Range("a65536").End(xlUp).Offset(1,0)

End If

Workbooks(dirname).Close False

End If

dirname=Dir

Loop

End Sub

'将多个工作簿放在同一文件夹下,其中有一个放VBA代码的工作簿

Sub UnionWorksheets()

Dim lj As String

Dim dirname As String

Dim nm As String

Dim Sht As Worksheet

Dim Str As String

lj=ActiveWorkbook.Path'查找工作簿

nm=https://www.sodocs.net/doc/ec8265828.html,

dirname=Dir(lj&"\*.xls")

m=0

Do While dirname<>""

If dirname<>nm Then

Workbooks.Open Filename:=lj&"\"&dirname'打开一个工作簿

For Each Sht In Worksheets'遍历工作表

Rows("1:3").Select'选择1-3行拷贝

Selection.Copy

Workbooks(1).Activate'拷贝到目标工作簿,根据要求设置

Range("A65536").End(xlUp).Select'目标工作簿工作表1A列最后一行

ActiveSheet.Paste

Application.CutCopyMode=False'清除剪贴板内容

Workbooks(2).Activate

Next

Workbooks(dirname).Close False

End If

dirname=Dir

Loop

End Sub

Private Sub CommandButton1_Click()

Dim i As Integer

i=5

Range("C1")=Range("a65536").End(xlUp)'从单元格A65536向上查找第一个有内容的单元格的内容

Range("C2")=Range("a65536").End(xlUp).Row'Row'从单元格A65536向上查找第一个有内容的单元格的行号

Cells(Range("b65").End(xlUp).Row+1,1).Select'本列第一个空单元格

Sheets(2).Range("a65536").End(xlUp).Offset(1,0)

Range("b"&i).Select选择可变单元格

End Sub

Sub gvntw()

Dim MyPath$,MyFile$

MyPath="E:\TempFiles\*.*"'你指定的目录,*.*匹配所有这个目录下的文件

MyFile=Dir(MyPath)'Dir返回匹配*.*的第一个文件名

Do

Debug.Print MyFile'在立即窗口打印匹配的文件名

MyFile=Dir'再一次调用Dir,得到其它匹配*.*的文件名

Loop Until MyFile=""'直到为空(即没匹配完了)为止

End Sub

sFile="ftp://xxxx:123456@10.216.*.*/vba带密访问

Dim Ret As Long检测网络是否通

Ret=InternetGetConnectedStateEx(Ret,sConnType,254,0)

If Ret=1Then

MsgBox"网络畅通,文件已发送"

Else

MsgBox"网络不通,请稍候再发!"

End If

树的遍历:文件目录结构的显示

数据结构课程设计报告 树的遍历:文件目录结构的显示 专业 计算机科学与技术 学生姓名 **** 班级 计算机*** 学号 ***** 指导教师 徐燕萍 完成日期 2014年7月4日

目录 1、设计内容 (2) 2、设计分析 (3) 2.1建立树形链表结构的函数PARSE() (3) 2.2目录大小重新计算函数RE S IZE() (4) 2.3输出树形结构的函数OUT P UT() (5) 3、设计实践 (5) 4、测试方法 (14) 4.1测试目的 (14) 4.2测试输入 (15) 4.3正确输出 (15) 4.4实际输出 (17) 5 程序运行效果 (19) 5.1测试结果分析 (19) 5.2探讨与改进 (19) 6 设计心得 (20) 1

树的遍历:文件目录结构的显示 1、设计内容 给出Unix下目录和文件信息,要求编程实现将其排列成一定缩进的树。具体要求如下。输入要求: 输入数据包含几个测试方案。每一个案例由几行组成,每一行都代表了目录树的层次结构。第一行代表目录的根节点。若是目录节点,那么它的孩子节点将在第二行中被列出,同时用一对圆括号“()”界定。同样,如果这些孩子节点钟某一个也是目录的话,那么这个目录所包含的内容将在随后的一行中列出,有一对圆括号将首位界定。目录的输入格式为:*name size,文件的输入格式为:name size,其中*代表当前节点的目录,name代表文件或目录的名称,由一串长度不大于10的字符组成,并且name字符串中不能包含有‘(’,‘)’,‘[’,‘]’,‘*’。size是该文件/目录的大小,为大于0的整数。每一个案例中最多只能包含10层,每一层最多有10个文件/目录。 输出要求: 对每一个测试案例,输出时要求:第d层的文件/目录名前面需要插入8*d个空格,兄弟节点之间要在同一列上。不要使用Tab(制表符)来统一输出的缩进。每一个目录的大小(size)是它包含的所有子目录和文件大小以及它自身大小的总和。 输入例子: */usr1 (*mark 1 *alex 1) (hw.c3 *course 1)(hw.c 5) (aa.txt 12) */usr 1 () 表示含有两个不同的根目录,目录名都是/usr,第一个根目录/usr 下包含mark和alex两个子目录,mark目录下包含大小为3的文件hw.c和子目录course,alex目录下有一个大小为5的文件hw.c,子目录course下包含文件aa.txt,其大小为12;第二个根目录/usr下为空。 2

请在考生文件夹下完成如下操作

1、请在考生文件夹下完成如下操作: (1)在考生文件夹下建立"图片2"文件夹; (2)在考生文件夹下查找所有的jpg文件,并将文件移动到"图片2"文件夹中; (3)将名为"2.jpg"文件设为只读文件。 评析: 操作提示: ①打开考生文件夹,单击鼠标右键,选择"新建"→"文件夹",修改新文件夹的默认名称"新建文件夹"为"图片2"。 ②找到考生文件夹下的"2.jpg"文件,选择该文件单击鼠标右键,选择"剪切";打开"图片2"文件夹,单击鼠标右键,选择"粘贴",完成移动文件操作。 ③选择"2.jpg"文件,单击鼠标右键,选择"属性",在打开的"属性"窗口中选中"只读"复选按钮,最后单击"确定"按钮。 2、请在考生文件夹下完成如下操作: (1)在考生文件夹下建立"WORD文档"文件夹; (2)在考生文件夹下查找"文件操作.doc"文件,将它复制到"WORD文档"文件夹中。 评析: 操作提示: ①打开考生文件夹,单击鼠标右键,选择"新建"→"文件夹",修改新文件夹的默认名称"新建文件夹"为"WORD文档"。 ②打开考生文件夹,在上方的工具栏中单击"搜索"按钮,选择"文件或文件夹"命令,打开"搜索"对话框,键入要查找的文件的名字"文件操作.doc",搜索范围选择考生文件夹所在位置,单击"立即搜索"按钮。 ③在"搜索结果"窗口中单击工具栏中的"文件夹"按钮,左窗格显示整个系统的文件夹树,在右窗格显示搜索结果,选择位于考生文件夹下的"文件操作.doc"文件,执行"编辑"→"剪切"命令,通过左窗格打开考生文件夹下"WORD文档"文件夹,执行"编辑"→"粘贴"命令。 3、请在考生文件夹下完成如下操作: (1)在考生文件夹下创建名为"MYFILE"的文件夹; (2)将"MYFILE"文件夹复制到考生文件夹下的"ME"文件夹中,并将"ME"文件夹改名为"我的文件夹"; (3)查找考生文件夹下的"我的文档.ppt"文件,并为其创建桌面快捷方式,快捷方式名称为"我的文档.ppt"。 评析: 操作提示: ①打开考生文件夹,单击右键选择"新建"→"文件夹",并且修改文件夹名称为"MYFILE"。 ②选择"MYFILE"文件夹,单击右键选择复制,打开考生文件夹下的"ME"文件夹,单击右键选择"粘贴"。并将"ME"文件夹改名为"我的文件夹"。 ③打开考生文件夹,在上方的工具栏中单击"搜索"按钮,选择"文件或文件夹"命令,打开"搜索"对话框,键入要查找的文件的名字"我的文档.ppt",搜索范围选择考生文件夹所在位置,单击"立即搜索"按钮。 ④在"搜索结果"窗口中单击工具栏中的"文件夹"按钮,左窗格显示整个系统的文件夹树,在右窗格显示搜索结果,选择位于考生文件夹下的"我的文档.ppt"文件。单击右键选择"创建快捷方式",将快捷方式剪切并粘贴到桌面,并修改快捷方式名称为"我的文档.ppt"。

Linux C :遍历输出指定目录下的所有文件

Linux C :遍历输出指定目录下的所有文件 在Linux下opendir()、readdir()和closedir()这三个函数主要用来遍历目录。在使用这三个函数前必须先包括以下两个头文件: #include #include opendir函数的原型为: DIR *opendir(const char *name); 它返回一个DIR*类型,这就是一个句柄啦,你不用管它的内部结构是什么样的,只要知道这个句柄就是等一下要传给readdir()函数的参数就行了。 readdir函数的原型为: struct dirent *readdir(DIR *dir); 看它的参数就知道该参数是opendir函数返回的句柄,而该函数的返回值是struct dirent* 类型,这里我们必须了解一下这个结构体: struct dirent { ino_t d_ino; /* inode number */ off_t d_off; /* offset to the next dirent */ unsigned short d_reclen; /* length of this record */ unsigned char d_type; /* type of file */ char d_name[256]; /* filename */ }; 这个结构体的d_name存放的就是文件的名字,这里的文件包括普通文件,目录文件等等,在linux的思想中,所有的东西都是文件。 closedir函数的原型为: int closedir(DIR *dir); 这个函数就不用多说了,一般有开(open),就有关(close),这样的结构经常可出看到,如fopen,fclose等等。 三个函数介绍完了,直接来一个例子吧: SearchDir.c#include #include #include #include #include char filename[256][256]; int len = 0; int trave_dir(char* path, int depth) { DIR *d; //声明一个句柄 struct dirent *file; //readdir函数的返回值就存放在这个结构体中 struct stat sb;

C#遍历目录下的所有文件夹

//这个是网上转的上一个也是仿照这个改的同样是win32控制台程序学习! using System; using System.Collections.Generic; using System.Text; using System.IO; namespace TestFileInfo { class Program { static void Main(string[] args) { string pathNames=null; do { Console.Write("请输入目录路径名(输入x退出程序):"); pathNames = Console.ReadLine(); if ((pathNames == "X") || (pathNames == "x")) break; DirectoryInfo dirPath = new DirectoryInfo(pathNames); CDirectoryInfo dirObject = new CDirectoryInfo(); Console.Write(dirObject.GetDirectoryInfos(dirPath)); Console.WriteLine("______________________________________________ ________/n"); //dirObject.pathNameProp = null; //Console.Write(dirObject.GetDirectoryInfos(pathNames)); //Console.WriteLine("_____________________________________________ ________"); } while (true);//((pathName == "X") || (pathName == "x")); Console.Write("/n程序已终止,按任意键退出程序!"); Console.ReadKey(); } }

用vba遍历文件夹和子文件夹中的所有文件

在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth 对象,另外一种是使用FileSystemObject(windows文件管理工具)和递归方法。兰色对代码进行了注解,希望对大家有所帮助 第二种方法:引用FileSystemObject对象 注意:要使用FileSystemObject对象,需要首先引用一下,具体方法,VBE--工具--引用--找到miscrosoft scription runtime项目并选中 代码及注释: Dim ArrFiles(1 To 10000) '创建一个数组空间,用来存放文件名称 Dim cntFiles% '文件个数 Public Sub ListAllFiles() Dim strPath$ '声明文件路径 Dim i% 'Set fso = CreateObject("Scripting.FileSystemObject") Dim fso As New FileSystemObject, fd As Folder '创建一个FileSystemObject对象和一个文件夹对象 strPath = ThisWorkbook.Path & "\" '"设置要遍历的文件夹目录 cntFiles = 0 Set fd = fso.GetFolder(strPath) '设置fd文件夹对象 SearchFiles fd '调用子程序查搜索文件 Sheets(1).Range("A1").Resize(cntFiles) = Application.Transpose(ArrFiles) '把数组内的路径和文件名放在单元格中 End Sub Sub SearchFiles(ByVal fd As Folder) Dim fl As File Dim sfd As Folder For Each fl In fd.Files '通过循环把文件逐个放在数组内 cntFiles = cntFiles + 1 ArrFiles(cntFiles) = fl.Path Next fl If fd.SubFolders.Count = 0 Then Exit Sub 'SubFolders返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的Folders 集合 For Each sfd In fd.SubFolders '在Folders 集合进行循环查找 SearchFiles sfd '使用递归方法查找下一个文件夹 Next End Sub

c#遍历一个文件夹下的所有文件包括子文件夹

c#遍历一个文件夹下的所有文件包括子文件夹 using System; using System.IO; class ListAllFilesDemo { public static void Main() { Console.Write( "请输入要查询的目录: "); string dir = Console.ReadLine(); try { ListFiles(new DirectoryInfo(dir)); } catch(IOException e) { Console.WriteLine(e.Message); } } public static void ListFiles(FileSystemInfo info)

{ if (!info.Exists) return; else { DirectoryInfo dirInfo = info as DirectoryInfo; if (dirInfo != null) { foreach (var file in dirInfo.GetFileSystemInfos()) { FileInfo fileInfo = file as FileInfo; if (fileInfo != null) Console.WriteLine(fileInfo.FullName); else { listFiles(file as DirectoryInfo); } } }

} } } C#中遍历目录下的目录的文件(二) 1、遍历一个目录下的全部目录,要用到System.IO.DirectoryInfo 类的GetDirectories方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetDirectories("*")) {//如果用GetDirectories("ab*"),那么全部以ab开头的目录会被显示 Response.Write(https://www.sodocs.net/doc/ec8265828.html, + "
");//打印目录名 Response.Write(dChild.FullName + "
");//打印路径和目录名} 2、遍历一个目录下的全部文件,要用到System.IO.DirectoryInfo 类的GetFiles方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetFiles("*")) {//如果用GetFiles("*.txt"),那么全部txt文件会被显示 Response.Write(https://www.sodocs.net/doc/ec8265828.html, + "
");//打印文件名

递归遍历目录的实现(c)

由于工作中需要使用到遍历目录,所以就自己收集整理相关资料,写了下面的函数,希望对大家有所帮助。 #include #include #include #include //将数组myarray的内容复制到数组S中 void initarray(char s[],char myarray[]) { int i; for(i=0;i

使用boost中的filesystem类库遍历某个目录所有的文件

使用boost中的filesystem类库遍历某个目录所有的文件 #include #include 使用boost中的filesystem类库遍历某个目录所有的文件 int GetAllFileOfPath(const string strPath) { namespace fs = boost::filesystem; // 得到配置文件夹. if ( strPath.size() < 2 ) { return 0; } fs::path full_path( fs::initial_path() ); full_path = fs::system_complete( fs::path( strPath, fs::native ) ); unsigned long file_count = 0; unsigned long dir_count = 0; unsigned long err_count = 0; if ( !fs::exists( full_path ) ) { std::cout << "找不到配置文件目录,请检查该目录是否存在:" std::cout << full_path.native_file_string() << std::endl; return -1; } // 遍历配置文件所在的文件夹,得到所有的配置文件名. if ( fs::is_directory( full_path ) ) { fs::directory_iterator end_iter; for ( fs::directory_iterator dir_itr( full_path ); dir_itr != end_iter; ++dir_itr ) { try { if ( fs::is_directory( *dir_itr ) ) {

VBA遍历所有文件夹的两种方法(filesearch和FileSystemObject)

VBA遍历所有文件夹的两种方法(filesearch和FileSystemObject) 在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth对象,另外一种是使用FileSystemObject(windows文件管理工具)和递归方法。兰色对代码进行了注解,希望对大家有所帮助 第一种方法:使用filesearch对象 Sub mysearch() Dim fs, i, arr(1 To 10000) Set fs = Application.FileSearch '设置一个搜索对象 With fs .LookIn = ThisWorkbook.Path & "/" '设置搜索路径 .Filename = "*.xls" '要搜索文件名和类型 .SearchSubFolders = True '是否需要搜索子文件夹 If .Execute > 0 Then '如果找不到文件 MsgBox "There were " & .FoundFiles.Count & _ " file(s) found." '显示文件找不到 For i = 1 To .FoundFiles.Count '通过循环把所有搜索到的文件存入到数组中 arr(i) = .FoundFiles(i) Next i Sheets(1).Range("A1").Resize(.FoundFiles.Count) = Application.Transpose(arr) ' '把数组内的路径和文件名放在单元格中 Else MsgBox "There were no files found." End If End With End Sub 第二种方法:引用FileSystemObject对象 注意:要使用FileSystemObject对象,需要首先引用一下,具体方法,VBE--工具--引用--找到miscrosoft scription runtime项目并选中 代码及注释: Dim ArrFiles(1 To 10000) '创建一个数组空间,用来存放文件名称 Dim cntFiles% '文件个数 Public Sub ListAllFiles() Dim strPath$ '声明文件路径 Dim i% 'Set fso = CreateObject("Scripting.FileSystemObject") Dim fso As New FileSystemObject, fd As Folder '创建一个FileSystemObject对象和一个文件夹对象 strPath = ThisWorkbook.Path & "/" '"设置要遍历的文件夹目录 cntFiles = 0 Set fd = fso.GetFolder(strPath) '设置fd文件夹对象 SearchFiles fd '调用子程序查搜索文件 Sheets(1).Range("A1").Resize(cntFiles) = Application.Transpose(ArrFiles) '把数组内的路径和文件名放在单元格中 End Sub Sub SearchFiles(ByVal fd As Folder) Dim fl As File Dim sfd As Folder For Each fl In fd.Files '通过循环把文件逐个放在数组内 cntFiles = cntFiles + 1 ArrFiles(cntFiles) = fl.Path Next fl If fd.SubFolders.Count = 0 Then Exit Sub 'SubFolders返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的Folders 集合 For Each sfd In fd.SubFolders '在Folders 集合进行循环查找 SearchFiles sfd '使用递归方法查找下一个文件夹 Next End Sub

c#遍历一个文件夹下的所有文件包括子文件夹

using System; using System.IO; class ListAllFilesDemo { public static void Main() { Console.Write( "请输入要查询的目录: "); string dir = Console.ReadLine(); try { ListFiles(new DirectoryInfo(dir)); } catch(IOException e) { Console.WriteLine(e.Message); } } public static void ListFiles(FileSystemInfo info) { if(!info.Exists) return; DirectoryInfo dir = info as DirectoryInfo; //不是目录 if(dir == null) return; FileSystemInfo [] files = dir.GetFileSystemInfos(); for(int i = 0; i < files.Length; i++) { FileInfo file = files[i] as FileInfo; //是文件 if(file != null)

Console.WriteLine(file.FullName + "\t " + file.Length); //对于子目录,进行递归调用 else ListFiles(files[i]); } } } C#中遍历目录下的目录的文件(二) 1、遍历一个目录下的全部目录,要用到System.IO.DirectoryInfo 类的GetDirectories方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetDirectories("*")) {//如果用GetDirectories("ab*"),那么全部以ab开头的目录会被显示 Response.Write(https://www.sodocs.net/doc/ec8265828.html, + "
");//打印目录名 Response.Write(dChild.FullName + "
");//打印路径和目录名} 2、遍历一个目录下的全部文件,要用到System.IO.DirectoryInfo 类的GetFiles方法: DirectoryInfo dir = new DirectoryInfo(@"c:\"); foreach(DirectoryInfo dChild in dir.GetFiles("*")) {//如果用GetFiles("*.txt"),那么全部txt文件会被显示 Response.Write(https://www.sodocs.net/doc/ec8265828.html, + "
");//打印文件名 Response.Write(dChild.FullName + "
");//打印路径和文件名}

用vba遍历文件夹和子文件夹中的所有文件

精品文档 在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth 对象,另外一种是使用FileSystemObject(windows文件管理工具)和递归方法。兰色对代码进行了注解,希望对大家有所帮助 第二种方法:引用FileSystemObject对象 注意:要使用FileSystemObject对象,需要首先引用一下,具体方法,VBE--工具--引用--找到miscrosoft scription runtime项目并选中 代码及注释: Dim ArrFiles(1 To 10000) '创建一个数组空间,用来存放文件名称 Dim cntFiles% '文件个数 Public Sub ListAllFiles() Dim strPath$ '声明文件路径 Dim i% 'Set fso = CreateObject("Scripting.FileSystemObject") Dim fso As New FileSystemObject, fd As Folder '创建一个FileSystemObject对象和一个文件夹对象 strPath = ThisWorkbook.Path & "\" '"设置要遍历的文件夹目录 cntFiles = 0 Set fd = fso.GetFolder(strPath) '设置fd文件夹对象 SearchFiles fd '调用子程序查搜索文件 Sheets(1).Range("A1").Resize(cntFiles) = Application.Transpose(ArrFiles) '把数组内的路径和文件名放在单元格中 End Sub Sub SearchFiles(ByVal fd As Folder) Dim fl As File Dim sfd As Folder For Each fl In fd.Files '通过循环把文件逐个放在数组内 cntFiles = cntFiles + 1 ArrFiles(cntFiles) = fl.Path Next fl If fd.SubFolders.Count = 0 Then Exit Sub 'SubFolders返回由指定文件夹中所有子文件夹(包括隐藏文件夹和系统文件夹)组成的Folders 集合 For Each sfd In fd.SubFolders '在Folders 集合进行循环查找 SearchFiles sfd '使用递归方法查找下一个文件夹 Next End Sub .

C++遍历目录下所有文件名

#include "stdlib.h" #include "direct.h" #include "string.h" #include "string" #include "io.h" #include "stdio.h" #include #include "iostream" using namespace std; /******************说明********************* 能够读出指定目录下所有指定类型的文件名,而且 支持通配符过滤特定类型文件。同时也能够输出文件总数和子目录总数**************************************/ class CBrowseDir { protected: //存放初始目录的绝对路径,以'\'结尾 char m_szInitDir[_MAX_PATH]; public: //缺省构造器 CBrowseDir(); //设置初始目录为dir,如果返回false,表示目录不可用 bool SetInitDir(const char *dir); //开始遍历初始目录及其子目录下由filespec指定类型的文件 //filespec可以使用通配符* ?,不能包含路径。 //如果返回false,表示遍历过程被用户中止 bool BeginBrowse(const char *filespec); vector BeginBrowseFilenames(const char *filespec); protected: //遍历目录dir下由filespec指定的文件 //对于子目录,采用迭代的方法 //如果返回false,表示中止遍历文件 bool BrowseDir(const char *dir,const char *filespec); vector GetDirFilenames(const char *dir,const char *filespec); //函数BrowseDir每找到一个文件,就调用ProcessFile //并把文件名作为参数传递过去 //如果返回false,表示中止遍历文件 //用户可以覆写该函数,加入自己的处理代码 virtual bool ProcessFile(const char *filename);

QT遍历文件夹目录图片文件的实现

数码相框实现遍历文件夹图片文件 一、功能介绍: 在为数码相框所在文件系统实现U盘自动挂载之后,将U盘自动挂载在开发板上文件系统中的/mnt/usb目录,故还需为数码相框添加遍历/mnt/usb路径下的文件夹内图片文件,暂定为扫描指定目录下一层文件夹内的图片文件。 二、参考资料: 以下一段代码为使用QT实现遍历文件夹和文件目录(递归法) bool FindFile(const QString & path) { QDir dir(path); if (!dir.exists()) return false; dir.setFilter(QDir::Dirs|QDir::Files); dir.setSorting(QDir::DirsFirst); QFileInfoList list = dir.entryInfoList(); int i=0; do{ QFileInfo fileInfo = list.at(i); if(fileInfo.fileName()=="."|fileInfo.fileName()=="..") { i++; continue; } bool bisDir=fileInfo.isDir(); if(bisDir) { nFiles++; std::cout << qPrintable(QString("%1 %2 %3").arg(fileInfo.size(), 10) .arg(fileInfo.fileName(),10).arg(fileInfo.path()))<

Python中如何遍历一个目录 输出所有的文件名

Python中如何遍历一个目录输出所有的文件名 如今想要学习Python的小伙伴越来越多,不论是参加Python培训还是自学Python开发的小伙伴都有。本篇文章给喜欢Python开发的小伙伴分享一下Python中如何遍历一个目录输出所有的文件名,希望能帮到对Python开发感兴趣的小伙伴们。 python 获取一个文件夹内(包括子文件夹)所有文件的名字和路径 import os dir = "e:\\" for root, dirs, files in os.walk(dir): for file in files: print os.path.join(root,file) 或: import os path = r'e:\case' fns = [os.path.join(root,fn) for root, dirs, files in os.walk(path) for fn in files] for f in fns: print(f) print(len(fns)) #coding=utf-8 import os def GetFileList(dir, fileList): newDir = dir if os.path.isfile(dir): fileList.append(dir.decode('gbk')) elif os.path.isdir(dir): for s in os.listdir(dir): #如果需要忽略某些文件夹,使用以下代码 #if s == "xxx": #continue newDir=os.path.join(dir,s) GetFileList(newDir, fileList) return fileList

下面这段代码可以遍历指定文件夹下所有XLS文件

下面这段代码可以遍历指定文件夹下所有xls文件,但: 1.文件夹下的xls文件可以返回到工A列,但子文件夹下的xls文件就不行 2.想同时在B列后能返回xls文件名下的工作表名称 Private Sub CommandButton1_Click() Dim fn As String Dim r As Long fn=Dir(ThisWorkbook.Path&"\*.xls") While fn<>"" r=r+1 Cells(r,1)=fn fn=Dir() Wend End Sub Sub汇总() Dim sh As Worksheet,FileName As String,rng As Range,sht As Worksheet Set sht=ActiveSheet FileName=Dir(ThisWorkbook.Path&"\*.xls")'待汇总文件 Do If FileName<>https://www.sodocs.net/doc/ec8265828.html, Then'如果当前文件不是汇部表,则处理此文件Set rng=sht.Range("A5").End(xlDown)'确定合计最上方的空单元格 If rng="合计"Then'如果当前单元格是“合计”项 rng.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove'插入空行 Set rng=rng.Offset(-2,0)'调整单元格的位置 End If Set sh=Workbooks.Open(ThisWorkbook.Path&"\"& FileName).Worksheets("Sheet1")'打开待汇总文件 rng.Offset(1,0)=sh.[M4]'填充编号 rng.Offset(1,1)=sh.[C4]'填充姓名 rng.Offset(1,2)=sh.[M18]'填充总价 sh.Parent.Close(False)'关闭文件 End If FileName=Dir()'遍历下一个文件 Loop While FileName<>"" End Sub 这段小程序就把一个EXCEL文件中每个工作表的A1单元格填上了a Sub tt() For i=1To ActiveWorkbook.Worksheets.Count

C#遍历指定文件夹中的所有文件

C#遍历指定文件夹中的所有文件 DirectoryInfo TheFolder=new DirectoryInfo(folderFullName); //遍历文件夹 foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories()) this.listBox1.Items.Add(https://www.sodocs.net/doc/ec8265828.html,); //遍历文件 foreach(FileInfo NextFile in TheFolder.GetFiles()) this.listBox2.Items.Add(https://www.sodocs.net/doc/ec8265828.html,); ================================================== ================= 如何获取指定目录包含的文件和子目录 1. DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找; 2. DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找; 3. DirectoryInfo. GetFileSystemInfos():获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInfo[],支持通配符查找; 如何获取指定文件的基本信息; FileInfo.Exists:获取指定文件是否存在; https://www.sodocs.net/doc/ec8265828.html,,FileInfo.Extensioin:获取文件的名称和扩展名; FileInfo.FullName:获取文件的全限定名称(完整路径); FileInfo.Directory:获取文件所在目录,返回类型为DirectoryInfo; FileInfo.DirectoryName:获取文件所在目录的路径(完整路径); FileInfo.Length:获取文件的大小(字节数); FileInfo.IsReadOnly:获取文件是否只读; FileInfo.Attributes:获取或设置指定文件的属性,返回类型为FileAttributes枚举,可以是多个值的组合 FileInfo.CreationTime、https://www.sodocs.net/doc/ec8265828.html,stAccessTime、https://www.sodocs.net/doc/ec8265828.html,stWriteTime:分别用于获取文件的创建时间、访问时间、修改时间;

相关主题