2013-05-02 39 views
2

是否可以创建基于文件夹树(包括其子目录和文件名)的Excel电子表格?他们是用excel本身来做的一种方式,还是有一种方案可以让这成为可能?根据文件夹内容生成Excel文件

+0

我不知道有任何程序会为您创建这个程序,但它应该是相当直接的写入许多不同的编程语言。我会建议你调查一个你最熟悉的人 – 5uperdan 2013-05-02 09:23:38

回答

0

这应该是在VBA与在您使用方向与循环命令,本分,你可以去UP和DOWN基于两个参数树转移一个或两个自指子很容易做到:

  1. 目录路径
  2. 方向(向上或向下)
0

你也可以试试这个Excel文件:

http://www.formedia.ca/files/arborescence_(v0097).xlsm

(树状表示树状法文)

只需把它放在你想捕捉并点击“阅读树的根树“按钮。

有许多未公开的功能,如创建一个新的日期文件和最大数量的级别,排除列表......检查用户表单中的不同标签,如果您有任何问题,请跳到这里:)。

您可以随时修改VBA代码以满足您的特定要求。

希望这有助于...

3

如果你需要做的只是这一次,没有更新,那么这样的事情应该工作:

cd directory 
tree > tree.txt 

现在做如下:

  1. 在可执行正则表达式的文本编辑器中打开tree.txt,例如Notepad++。下面的正则表达式适用于Notepad ++,因此您可能需要为具有不同正则表达式方言的其他编辑器稍微调整它们。注意每个目录树级别是如何前缀4个字符的。

  2. 删除您不关心的任何行。

  3. 替换,具有正则表达式和回绕复选框检查:

    • 查找:^(\t*)[^\tA-Za-z0-9_]{4}
    • 替换:\1\t
  4. 不断重复上述步骤,直到0 OCCURENCES被替换。看看文件如何改变。

  5. 复制文本(ctrl-a ctrl-c)并粘贴到Excel。制表符应该把目录层次结构整齐到Excel列


对正则表达式的一些注意事项:

  • \t是制表符,无论是在表达和更换
  • 替代
  • \1意味着什么首先匹配()表示
  • 初始^在表达式匹配线
  • [^ ... ]在表现手法开始,等额返还是以前(的[^ ... ]在这正好是4个OCCURENCES的任何字符上市
  • {4}的表现手法,匹配案件)。

因此,在短期,此匹配,并且在()线的开始 - 捕获任何标签,然后也接下来的4非标签/字母/数字/下划线字符相匹配。然后,首先由捕获的所有选项卡替换,然后再添加一个额外的选项卡。所以每当这个正则表达式完成时,又有一个4个非目录名字符的序列被tab取代。