馬震安
將大量長文件名中的不同類別關鍵詞分別提取出來,存入Excel表格中,我們應該如何巧妙實現呢?
例如公司組織下屬單位進行論文大賽,收到相當數量的電子版論文。論文主要就經典文學作品人物進行論述,文件標題包含了作品人物、作品名稱、論文標題等三大部分,如圖1左側。根據要求,需要將這些電子版論文的文件名、所選人物、作品名稱等錄入到Excel工作表中。如果手動錄入的話,工作量可想而知的繁重。用VBA代碼嗎?固然能夠實現,但恐怕對于普通辦公人員不大容易實現。那么有沒有什么更好的辦法解決?其實,只需要借助一個一行代碼的bat文件就能輕松搞定了。

生成bat文件
在存放若干論文的文件夾中右擊建立一個文本文件,打開它,將“for /r d:\論文 %%a in (*.doc) do echo %%~na >>生成文件.xls”這行命令輸入到文本文件中,保存并關閉文件。接下來,設置顯示文件擴展名,右擊這個文本文件,選擇“重命名”,將它的擴展名“txt”更改為“bat”,回車后就會提示是否更改擴展名,選擇“是”。這時文件的圖標如果發生了變化,這就意味著這個文本文件變成批處理文件了。雙擊這個批處理文件,就會生成一個Excel文件。打開這個Excel文件,就會看到每個Word文檔的文件名被錄入到工作表中了(圖1)。
標題巧分離
初始目錄生成之后,還需要從這些個目錄中分離出人物、作品及論文標題。選定數據列,點擊“數據”選項卡下的“分列”,在彈出的窗口中選擇“分隔符號”,點擊“下一步”,在窗口中勾選“其他”,輸入分隔符(本例中輸入下劃線“_”),點擊“完成”,就實現了數據的分離。
添加鏈接
為了更進一步操作,可在文件目錄中的標題和文件夾中的相應文件之間建立鏈接,當點擊目錄標題時就會打開相應的Word文件。首先為數據記錄添加表頭(即列標題);選定論文標題這列,利用替換的方法刪除每個單元格最后的空格(即在替換內容處輸入一個空格,替換為處什么也不要輸入);接下來,在鏈接列的相應單元格輸入“=HYPERLINK(A2&"_ "&B2&"_"&C2&".doc",A2&"_"&B2&"_"&C2&".doc")”,并向下拖動填充。這樣,標題就和文件之間建立起了鏈接。最后,將這個Excel另存為擴展名為xls的文件就可以了(圖2)。
以上僅以文學作品文件名為例,其他大家日常遇到的多字段長文件名的分離提取,均可以采用上述方法。