最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

excel中使用VBA提取指定文件夾中指定擴(kuò)展名的所有文件名的技巧

  發(fā)布時間:2026-02-26 16:23:46   作者:佚名   我要評論
項目結(jié)束后,要把相關(guān)文件的存放位置整理成清單交給同事或領(lǐng)導(dǎo),提取文件夾名稱和路徑后,能讓接收方精準(zhǔn)找到對應(yīng)文件,減少溝通成本,確保工作銜接順暢,下面我們就來看看使用VBA提文件名的技巧

不使用VBA,列出指定文件夾的所有文件名的方法中,我們使用Excel中隱藏的FILES函數(shù)定義名稱,并將之應(yīng)用到Excel公式中提取指定文件夾中所有文件名。今天更進(jìn)一步:按擴(kuò)展名篩選,只提取我們想要的那一類文件(比如只提取 .xlsx 或 .jpg)。配合自定義函數(shù)(UDF),像使用內(nèi)置函數(shù)一樣簡單!

可以使用VBA創(chuàng)建一個自定義函數(shù)(UDF),輕松獲取指定文件夾指定擴(kuò)展名的所有文件的名稱。

代碼來了

'================================================
' 函數(shù)名稱:GetFileNamesbyExt
' 功能描述:獲取指定文件夾中特定擴(kuò)展名的所有文件名
' 參  數(shù):FolderPath - 文件夾路徑
' ? ? ? ? ? FileExt ? ?- 文件擴(kuò)展名(如".xlsx")
' 返 回 值:包含文件名的數(shù)組
'================================================
Function GetFileNamesbyExt(ByVal FolderPath As String, FileExt As String) As Variant? ? 
Dim Result As Variant? ? 
Dim i As Integer? ? 
Dim MyFile As Object? ? 
Dim MyFSO As Object? ? 
Dim MyFolder As Object? ? 
Dim MyFiles As Object?? ? 
Set MyFSO = CreateObject("Scripting.FileSystemObject")? ? 
Set MyFolder = MyFSO.GetFolder(FolderPath)? ? 
Set MyFiles = MyFolder.Files?? ? 
ReDim Result(1 To MyFiles.Count)? ? 
i = 1?? ? 
For Each MyFile In MyFiles? ? ? ? 
If InStr(1, MyFile.Name, FileExt) <> 0 Then? ? ? ? ? ? 
Result(i) = MyFile.Name? ? ? ? ? ? 
i = i + 1? ? ? ? 
End If? ? 
Next MyFile?? ? 
ReDim Preserve Result(1 To i - 1)? ? 
GetFileNamesbyExt = ResultEnd Function

上述代碼將創(chuàng)建了一個名為GetFileNamesbyExt的函數(shù),該函數(shù)可像Excel內(nèi)置函數(shù)一樣在工作表中使用。

如何使用這個函數(shù)?

  • 插入模塊打開VBE編輯器(Alt + F11),插入一個標(biāo)準(zhǔn)模塊,粘貼上述代碼。
  • 使用公式提取

在工作表任意單元格中輸入希望列出文件名的文件夾地址,示例中為單元格A1;在工作表任意單元格中輸入指定的擴(kuò)展名,示例中為單元格B1。然后,在想要列出文件名單元格中(示例為單元格A3),輸入公式:

=IFERROR(INDEX(GetFileNamesbyExt($A$1,$B$1),ROW()-2),"")

向下拖動公式復(fù)制到下方單元格直至列出所有文件名,如下圖1所示。

注意,在上面的公式中,使用了ROW()-2,因為公式單元格是從第三行開始的,這確保了當(dāng)在下面的單元格中復(fù)制公式時,它將遞增1。如果在某列的第一行輸入公式,則可以簡單地使用row()。

特別提示

  • 如果省略第二個參數(shù)(擴(kuò)展名),函數(shù)將返回文件夾中 所有文件名
  • 擴(kuò)展名區(qū)分大小寫?不用怕,InStr 默認(rèn)不區(qū)分,放心用;
  • 路徑最后不要忘了加反斜杠?不用加,GetFolder 自動識別。

寫在最后

這個小工具非常適合:

  • 整理照片時提取所有 .jpg 文件;
  • 匯總報表時提取所有 .xlsx 文件;
  • 清理電腦時列出所有 .tmp 臨時文件。

相關(guān)文章

最新評論

盐边县| 安新县| 灌阳县| 汉中市| 准格尔旗| 宜君县| 长宁县| 安达市| 梁平县| 九龙坡区| 依安县| 沁源县| 株洲市| 英超| 莱芜市| 潼关县| 新竹县| 绥化市| 航空| 海林市| 新余市| 西贡区| 博客| 香河县| 锡林浩特市| 东乌珠穆沁旗| 项城市| 来宾市| 元阳县| 汨罗市| 寻乌县| 隆安县| 阆中市| 固始县| 安国市| 安阳市| 鄂尔多斯市| 遵化市| 石棉县| 藁城市| 大冶市|