急用!求excel自动生成当前所在文件夹内文件目录7
发布网友
发布时间:2023-10-11 20:17
我来回答
共2个回答
热心网友
时间:2024-12-11 23:57
用公式自定义名称 就可以做,给你写个简单的宏:
Sub xxx()
i = 0
Set fs = CreateObject("Scripting.FileSystemObject")
spath = ThisWorkbook.Path
sfilename = Dir(spath & "\*")
Do While sfilename <> "" And sfilename <> ThisWorkbook.Name
i = i + 1
Str3 = StrReverse(sfilename)
h = InStr(1, Str3, ".")
ActiveSheet.Cells(i, 1).Select
ActiveSheet.Hyperlinks.add anchor:=Selection, Address:=spath & "\" & sfilename, _
TextToDisplay:=Left(sfilename, Len(sfilename) - h)
Set f = fs.GetFile(spath & "\" & sfilename) '返回指定路径文件所对应的 File 对象
ActiveSheet.Cells(i, 2) = f.DateCreated
sfilename = Dir()
Loop
ActiveSheet.Columns("A:B").AutoFit
End Sub
追问只能提取部分文件的名称,不能将所在文件夹内所有文件名都提到目录中,并且生成的是时间,我只要日期就可以了,最好第一列能生成序号,vba好几年没碰了,忘干净了
追答Sub xxx()
i = 0
Set fs = CreateObject("Scripting.FileSystemObject")
spath = ThisWorkbook.Path
sfilename = Dir(spath & "\*")
Do While sfilename <> ""
If sfilename <> ThisWorkbook.Name Then
i = i + 1
Str3 = StrReverse(sfilename)
h = InStr(1, Str3, ".")
ActiveSheet.Cells(i, 1).Select
ActiveSheet.Hyperlinks.add anchor:=Selection, Address:=spath & "\" & sfilename, _
TextToDisplay:=Left(sfilename, Len(sfilename) - h)
Set f = fs.GetFile(spath & "\" & sfilename) '返回指定路径文件所对应的 File 对象
ActiveSheet.Cells(i, 2) = Format(f.DateCreated, "yyyy/m/d")
End If
sfilename = Dir()
Loop
ActiveSheet.Columns("A:B").AutoFit
End Sub
热心网友
时间:2024-12-11 23:57
方法/步骤
一、所需DOS命令
dir [drive:][path] /b > [drive:][path]filename
二、应用实例
如下图,在D盘中,有一个名称为“TQIPC”的文件夹,这个文件夹里面,存放了很多的照片!
现在,我们要做的就是,如何让这些照片的名称,自动显示在Excel或记事本里面!
执行菜单操作“开始”→“运行”,弹出运行对话框,在里面输入 CMD 并按“确定”键,这个时候,会打开如下图的MS-DOS窗口!
之后,如下图一样,输入DOS命令即可!
上述的命令输入好之后,就按下回车键,命令就执行了,以上生成的是XLS文件;如果您想生成记事本TXT文件,那么,就输入下图的dos命令即可!
就这样,非常简单,文件名的列表文件,就形成了!如下图!
通过dos命令的操作,我们就得到了如上图的两个文件了。
下面我们打开temp.xls文件看看,如下图!
看到了没有,文件夹中的照片名称,自动就显示在excel表格中了!
该dos命令非常强大,用好dos命令,可省去我们很多的功夫。
三、知识扩展
下面,再给大家一个例子,即,自动根据照片(根据人物名称),建立文件夹。
如果某个文件夹下面,您存放的是某些人物的照片,并且,每个人物的照片,都使用其名字来命名;这个时候,如何要自动根据人物的自动建立其对应的文件夹,也相当方便!
操作的方法是,先根据上述的方法,获取所有人物的照片的名称,生成EXCEL文件;
然后,在人物名称列前面,插入一列,并输入MD;
接下来,使用查找替换功能,将excel文件中的人物名称,去掉扩展名(只保留名字);
最后,将excel的内容,复制粘贴到记事本中,现在,我们就得到了形如:“MD 人物名称” 这样的命令格式了。(md 文件名称,该命令格式,是使用来建立文件夹的命令,上述的操作,都是为此做准备!)
将记事本文件保存成为形如:124.bat格式的文件,最后,双击此文件,文件夹名称就自动建立好了!