日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

批量提取文件名,快速建立EXCEL工作臺(tái)文件路徑

 Four兄 2019-10-20

上回書說(shuō)到,如何用EXCEL建立自己的工作臺(tái)(導(dǎo)航與日志),有朋友說(shuō),自己的文件太多了,做起導(dǎo)航很費(fèi)勁。別急,其實(shí)我們可以快速提取文件名,以便于我們批量建立超鏈接。

點(diǎn)擊下圖延伸閱讀:《高效秘技!用EXCEL制作導(dǎo)航頁(yè)和日志表管理日常工作》


1. 無(wú)門檻通用bat法——用批處理腳本提取文件名

提取當(dāng)前文件夾下的文件、文件夾名稱(不含子文件夾)

新建一個(gè)文本文檔,命名為“提取文件名”。

打開(kāi)文本文檔,輸入公式:dir *.*/b>文件清單.txt 

dir為列表命令,/b為只保留文件名和擴(kuò)展名參數(shù),>為將命令結(jié)果導(dǎo)入到指定文件內(nèi)

將文本文檔的文件類型改為bat,即將“提取文件名.txt”更改為“提取文件名.bat”。如果你的電腦沒(méi)有顯示文件擴(kuò)展名,另存為.bat文件即可。

注:bat文件就是批處理文件,DOS年代的命令,不挑系統(tǒng)。

雙擊bat文件運(yùn)行,即可得到文件清單:

提取當(dāng)前文件夾下的文件、文件夾名稱(包括子文件夾),輸出文件樹(shù)

上述方法有時(shí)候并不能滿足我們,比如,有的同事就喜歡將文件分門別類都放到文件夾下。然后,我去查一個(gè)文件,就需要一個(gè)個(gè)文件夾去找,點(diǎn)了十幾下,最后發(fā)現(xiàn)還是個(gè)空文件夾,真是讓人心累。

有沒(méi)有辦法能夠?qū)⑽募A下所有文件的名稱都提取出來(lái)?

有!而且可以提取成文件樹(shù)!

步驟同上,公式替換成:tree /F > 文件樹(shù)1.txt 

運(yùn)行結(jié)果如下:

瞧,我就在某人的電腦下發(fā)現(xiàn)了秘密文件(上圖倒數(shù)第三行),抓他個(gè)現(xiàn)行。

點(diǎn)開(kāi)一看

.

.

.

.

.

.

.


這TM什么標(biāo)題黨?

僅提取當(dāng)前文件夾名稱(包含子文件夾)

步驟同上,公式替換成:tree > 文件樹(shù)2.txt

運(yùn)行結(jié)果如下(不提取文件的名稱):

方法小結(jié):

上述三種方法輸出文件都可以改變類型,擴(kuò)展名“.txt”替換成對(duì)應(yīng)的文件擴(kuò)展名就可以了,比如替換成“.xls”就生成EXCEL文件。

2. WIN10黨福利——復(fù)制路徑

新系統(tǒng)帶來(lái)新功能,WIN10系統(tǒng)可以直接選中文件,復(fù)制路徑。

粘貼到EXCEL表格中:

EXCEL 2016及以上版本可以用快速填充命令,得到文件名。

EXCEL版本低也沒(méi)關(guān)系,可以用替換,將“文件名之前的路徑”替換為“空”。

3. 高階VBA大法——用EXCEL提取文件名

上面兩種方法簡(jiǎn)單快捷,但有一個(gè)缺點(diǎn),每次文件有變化,還需要重新運(yùn)行一次批處理命令,再粘貼到EXCEL中。

能不能將更簡(jiǎn)單一點(diǎn)?

可以,用EXCEL的VBA功能即可。

VBA是微軟的一種宏語(yǔ)言,EXCEL學(xué)會(huì)使用VBA就相當(dāng)于打開(kāi)了一片新天地。

具體方法:

1)插入一個(gè)長(zhǎng)方形,輸入名稱,然后制定宏。(此步驟是為了方便運(yùn)行,非必須)

2)新建宏。

3)將下面的代碼復(fù)制代碼框中:

Sub 提取文件名()

    On Error GoTo 100

    Dim wsh As Object, mypath As String, ar, i&, br

    mypath = CreateObject('shell.application').BrowseForFolder(0, '請(qǐng)選擇要搜索的文件夾', 0).Items.Item.Path    '在此指定目錄

    Set wsh = CreateObject('wscript.shell')

    mypath = wsh.exec('cmd /c tree /f ' & Chr(34) & mypath & Chr(34)).StdOut.ReadAll

    mypath = Left(mypath, Len(mypath) - 1)

    ar = Split(mypath, vbCrLf)

    ReDim br(1 To UBound(ar) + 1, 1 To 1)

    For i = 0 To UBound(ar)

        br(i + 1, 1) = ar(i)

    Next

    Range('a1').Resize(UBound(br)) = br

    Set wsh = Nothing

100:

End Sub

以上代碼來(lái)自EXhome論壇@yangyangzhifeng(學(xué)習(xí)VBA編程還是頗耗時(shí)間的,網(wǎng)上很多代碼可以借鑒)

4)點(diǎn)擊長(zhǎng)方形按鈕運(yùn)行,選擇制定提取文件樹(shù)的文件夾。

得到文件樹(shù):

也有代碼可以實(shí)現(xiàn)只提取文件名(類似dir批處理命令的效果),下期告訴你。

總結(jié)

文件名提取成功了,那如何快速建立超鏈接呢?且聽(tīng)下回分解!


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多