導航:首頁 > 文件處理 > vba遍歷輸出文件夾內所有文件

vba遍歷輸出文件夾內所有文件

發布時間:2023-03-21 10:53:56

⑴ 如何用excel vba按關鍵字選擇性的遍歷文件夾搜索文件

Excel怎樣批量提取文件夾和子文件夾所有文件

怎樣批量提取文件夾下文件名


⑵ 在vba中使用什麼函數可以實現遍歷文件夾和文件的需求,並得到指定路徑下的文件

可參考截圖的代碼試試。

vb對文件夾、及文件的訪問

⑶ VBA中怎麼遍歷所選路徑中所有文件夾及其子文件夾(多個子文件),並返回所有的最底層的文件夾路徑

答:執行"獲取所有文件夾",按提示操作。文件夾清單會顯示在工作表的AB列中。

Sub獲取所有文件夾()
DimDirectoryAsString
WithApplication.FileDialog(msoFileDialogFolderPicker)
.InitialFileName=Application.DefaultFilePath&""
.Title="請選擇一個文件夾"
.Show
If.SelectedItems.Count=0Then
ExitSub
Else
Directory=.SelectedItems(1)
EndIf
EndWith
Cells.ClearContents
CallRecursiveDir(Directory)
EndSub
PublicSubRecursiveDir(ByValCurrDirAsString)
DimDirs()AsString
DimNumDirsAsLong
DimFilesizeAsDouble
DimTotalFolders,SingleFolder
Cells(1,1)="目錄名"
Cells(1,2)="日期/時間"
Range("A1:B1").Font.Bold=True

SetTotalFolders=CreateObject("Scripting.FileSystemObject").GetFolder(CurrDir).SubFolders
Cells(WorksheetFunction.CountA(Range("A:A"))+1,1)=CurrDir
Cells(WorksheetFunction.CountA(Range("B:B"))+1,2)=FileDateTime(CurrDir)
IfTotalFolders.Count<>0Then

ReDimPreserveDirs(0ToNumDirs)AsString
Dirs(NumDirs)=SingleFolder
NumDirs=NumDirs+1
Next
EndIf
Fori=0ToNumDirs-1
RecursiveDirDirs(i)
Nexti
EndSub

⑷ 如何用VBA遍歷指定目錄下的所有子文件夾和文件

SubTest()
DimMyName,Dic,Did,I,T,F,TT,MyFileName
T=Time
SetDic=CreateObject("Scripting.Dictionary")'創建一個字典對象
SetDid=CreateObject("Scripting.Dictionary")
Dic.Add("D:MyDocuments"),""
I=0
DoWhileI<Dic.Count
Ke=Dic.keys'開始遍歷字典
MyName=Dir(Ke(I),vbDirectory)'查找目錄
DoWhileMyName<>""
IfMyName<>"."AndMyName<>".."Then
If(GetAttr(Ke(I)&MyName)AndvbDirectory)=vbDirectoryThen'如果是次級目錄
Dic.Add(Ke(I)&MyName&""),""'就往字典中添加這個次級目錄名作為一個條目
EndIf
EndIf
MyName=Dir'繼續遍歷尋找
Loop
I=I+1
Loop
Did.Add("文件清單"),""'以查找D盤MyDocuments下所有EXCEL文件為例
ForEachKeInDic.keys
MyFileName=Dir(Ke&"*.xls")
DoWhileMyFileName<>""
Did.Add(Ke&MyFileName),""
MyFileName=Dir
Loop
Next
ForEachShInThisWorkbook.Worksheets
IfSh.Name="XLS文件清單"Then
Sheets("XLS文件清單").Cells.Delete
F=True
ExitFor
Else
F=False
EndIf
Next
IfNotFThen
Sheets.Add.Name="XLS文件清單"
EndIf
Sheets("XLS文件清單").[A1].Resize(Did.Count,1)=WorksheetFunction.Transpose(Did.keys)
TT=Time-T
MsgBoxMinute(TT)&"分"&Second(TT)&"秒"
EndSub

⑸ 如何用VBA遍歷指定目錄下的所有子文件夾Excel文件的所有工作表

vba麻煩點,dir最快,excelhome論壇上有大量現成代碼:


SubOpiona()'//函數實例
FileArr=FileAllArr(ThisWorkbook.Path,"*.xls",ThisWorkbook.Name,False)
Fori=0ToUBound(FileArr)
MsgBoxFileArr(i)
'SetWB=Workbooks.Open(FileArr(I))'//打開工作簿
'你的代碼
'WB.Closetrue'//保存
Next
EndSub
'*******************************************************************************************************
'功能:查找指定文件夾含子文件夾內所有文件名或文件夾名(含路徑)
'函數名:FileAllArr
'參數1:Filename需查找的文件夾名不含最後的""
'參數2:FileFilter需要過濾的文件名,可省略,默認為:[*.*]
'參數3:Liwai剔除例外的文件名,可省略,默認為:空,一般為:ThisWorkbook.Name
'參數4:Files是否只要文件夾名,可省略,默認為:FALSE
'返回值:一個字元型的數組
'使用方法:FileArr=FileAllArr(ThisWorkbook.Path,"*.xls",ThisWorkbook.Name,false)
'作者:北極狐工作室QQ:14885553
'*******************************************************************************************************
PublicFunctionFileAllArr(ByValFilenameAsString,="*.*",OptionalByValLiwaiAsString="",OptionalByValFilesAsBoolean=False)AsString()
SetDic=CreateObject("Scripting.Dictionary")'創建一個字典對象
SetDid=CreateObject("Scripting.Dictionary")
Dic.Add(Filename&""),""
i=0
DoWhilei<Dic.Count
Ke=Dic.keys'開始遍歷字典
MyName=Dir(Ke(i),vbDirectory)'查找目錄
DoWhileMyName<>""
IfMyName<>"."AndMyName<>".."Then
If(GetAttr(Ke(i)&MyName)AndvbDirectory)=vbDirectoryThen'如果是次級目錄
Dic.Add(Ke(i)&MyName&""),""'就往字典中添加這個次級目錄名作為一個條目
EndIf
EndIf
MyName=Dir'繼續遍歷尋找
Loop
i=i+1
Loop
Dimarrx()AsString
i=0
IfFiles=TrueThen'//是否只輸出文件夾名

ForEachKeInDic.keys'以查找總表所在文件夾下所有excel文件為例
ReDimPreservearrx(i)
IfKe<>Filename&""Then'//自身文件夾除外
arrx(i)=Ke
i=i+1
EndIf
Next
FileAllArr=arrx
Else
ForEachKeInDic.keys'以查找總表所在文件夾下所有excel文件為例
MyFileName=Dir(Ke&FileFilter)'過濾器:EXCEL2003為:*.xls,excel2007為:*.xlsx
DoWhileMyFileName<>""
IfMyFileName<>LiwaiThen'排除例外文件
ReDimPreservearrx(i)
arrx(i)=Ke&MyFileName
i=i+1
EndIf
MyFileName=Dir
Loop
Next
FileAllArr=arrx
EndIf
EndFunction
'****************************************************************

⑹ 求助]如何用VBA遍歷指定目錄下的所有子文件夾和文件-字典模式

F是一個臨時邏輯變數,在循環查找工作簿中是否有名為「XLS文件清單」的工作表,找到為「真」,否則為假。目的是方便後續的代碼處理,如果沒有這個工作表,則先創建建這個工作表,後面才能放置遍歷出來的文件夾及文件名。

⑺ 怎麼用vba遍歷文件夾里的所有文件

遍歷操作,一般運用於提取和寫入等的操作,其基本原理和代碼都一樣,

遍歷的方法也有很多種,以下我提供一種方法open法,除去紅框以內

的代碼基本都是遍歷的基礎代碼,在這個基礎上可以做根據實際需要的添加修改

⑻ 如何用VBA遍歷指定文件夾內的所有文件

用dir函數加上循環即可。比如將D:ABC文件夾內的所有文件顯示到A列,代碼如下:

Sub遍歷所有文件()
DimFn$,N%
Fn=Dir("D:ABC*.*")
WhileFn<>""
N=N+1
Range("A"&N)=Fn
Fn=Dir
Wend
EndSub

⑼ 如何使用VBA遍歷文件夾及其子文件夾中的所有excel,並打開後進行修改

ImportsSystem.Net.Dns
ImportsSystem.Net
ImportsSystem.Net.IPAddress
PublicClassForm1
DoWhileDateFile<>""
'filname(nn)=DateFile
'DateFile=Dir
好絕野廳'nn=nn+1
Loop
Whileee=1
頌襪隱EndWhile

EndSub

EndClass

⑽ 求助]如何用VBA遍歷指定目錄下的所有子文件夾和文件-字典模式

F是一個臨時邏輯變數,保存本程序工作簿中是否已有名為「XLS文件清單」的工作表,方便納腔後拿茄棚續的代碼處理,如果沒有,就先建這個工作表消則,後面才能放置遍歷出來的文件夾。
經過對代碼的分析,以下兩行完全可以省略
Else
F = False

閱讀全文

與vba遍歷輸出文件夾內所有文件相關的資料

熱點內容
怎樣加密自己的密碼 瀏覽:521
安卓怎麼關許可權保護隱私 瀏覽:390
海牛微視app怎麼用 瀏覽:70
單片機怎樣選變壓器 瀏覽:829
癌症pdf 瀏覽:725
雲伺服器鏡像批量部署環境 瀏覽:683
安卓手機瀏覽器能訪問什麼網站 瀏覽:254
找不到網站的伺服器ip地址該如何解決 瀏覽:743
演算法十個數降序排列 瀏覽:95
基於單片機的老年人健康監測系統 瀏覽:706
python入門經典pdf下載 瀏覽:17
東芝變頻2p空調壓縮機 瀏覽:227
自家wifi怎麼能加密 瀏覽:644
紅米k40加密門禁卡 瀏覽:847
什麼樣的源碼好看 瀏覽:156
手機主伺服器有什麼用 瀏覽:612
程序編寫命令 瀏覽:597
android發送心跳包 瀏覽:385
指標源碼和原理 瀏覽:700
汽車空調壓縮吸盤 瀏覽:208