EXCEL中如何一一处理某一路径下的各个文件

hello1998 2003-09-22 02:32:03
假设目录d:/temp 有各个需要汇总的待处理文件.文件名有一定的规律.如 lianruo-xxx.xls
宏所在的文件设为 a.xls . (简单起见,可认为在同一目录下)

我的问题是,如何在宏中,把该目录中的所有文件名放到一个数组中,好一一进行判断处理.

我的想法是,在宏中先调用系统命令 dir,生成一个文件名清单文件,如 filename.txt (用 dir /s > filename.txt), 再在宏中把这个 filename.txt 文件打开,把文件内容一条一条的写入一个数组.
那么在宏中语句怎么写,才能调用操作系统命令,才能把一个文本文件的内容一行一行的读入.

或者大家有什么可行的做法吗? 

...全文
52 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
willzhang 2003-10-15
  • 打赏
  • 举报
回复
dim FilePath
FilePath = Application.GetOpenFilename("Excel File,*.xls", , "请选择文件(可多选)", , True)

这样就可以获取文件名级路径了啊,而且不用在程序里写绝对路径
FilePaht就是一个数组
xamcsdn2 2003-10-10
  • 打赏
  • 举报
回复
kurtho 2003-10-10
  • 打赏
  • 举报
回复
并不是我的代码,误会了,呵呵
michael007 2003-10-09
  • 打赏
  • 举报
回复
我借用了Kurtho的代码,使用绝对OK!我不懂Kurtho的代码的!!!!!正学习中。谢谢

Private Sub CommandButton1_Click()
Dim fso, fldr, i, Ddd
'Ddd = InputBox("Please input the path such as c:\temp\")
Ddd="d:\temp\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set fold = fso.GetFolder(Ddd)
CommandButton1.Caption = Filelist
i = 1
For Each xx In fold.Files '列出d:\temp\下所有文件

Cells(i, 1) = Ddd & xx
i = i + 1
Next
MsgBox ("OK!!!!") 'xx是文件對象
End Sub
kurtho 2003-10-05
  • 打赏
  • 举报
回复
工作表不就是储存数据的最佳场所吗?完全不用外部文件的
xamcsdn2 2003-09-28
  • 打赏
  • 举报
回复
Dim fso, fldr
Set fso = CreateObject("Scripting.FileSystemObject")
set fold=fso.GetFolder("c:\")
for each xx in fold.files '列出c:\下所有文件
Msgbox(xx.DateLastModified) 'xx为文件对象
next

klbt 2003-09-27
  • 打赏
  • 举报
回复
关注,帮你顶。

5,140

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧