2013-05-02 41 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取代。