Excel vba读取大量文件的速度更快

我有一个代码,find所有文件以特定名称开始,并从它们中读取数据,文件夹中通常有1k或更多的文件,我写了一个基准,并意识到我的代码每秒读取aprox 1文件,这是一个很多时间。 我是vba新手,我想知道如果我误解了这个问题? function代码:

Function ReadDataFromWorksheet() Dim XL As Excel.Application Dim WBK As Excel.Workbook Dim i As Integer i = 1 Set XL = CreateObject("Excel.Application") Do While i < (ArraySize + 1) Set WBK = XL.Workbooks.Open("PATH TO FILE") Array(i).Data1 = WBK.ActiveSheet.Range("F6").Value WBK.Close SaveChanges:=False i = i + 1 Loop Set XL = Nothing End Function 

对不起,我的拼写错误!…并提前感谢您的帮助!

这里是你应该如何使用Dir

 Function ReadDataFromWorksheet() As Variant With Application .EnableEvents = False 'stop executing this code until we are done .DisplayAlerts = False .ScreenUpdating = False '.Calculation = xlCalculationManual End With Dim XL As Excel.Application Dim WBK As Excel.Workbook Dim FileName As String, _ FolderPath As String, _ Results() ReDim Results(0) On Error Resume Next Set XL = GetObject(, "Excel.Application") If Err.Number > 0 Then Set XL = CreateObject("Excel.Application") On Error GoTo 0 FolderPath = "C:/test/" FileName = Dir(FolderPath & "*.xlsx") Do While FileName <> "" Set WBK = XL.Workbooks.Open(FolderPath & FileName) Results(UBound(Results)) = WBK.ActiveSheet.Range("F6").Value WBK.Close SaveChanges:=False ReDim Preserve Results(UBound(Results) + 1) FileName = Dir Loop ReDim Preserve Results(UBound(Results) - 1) Set WBK = Nothing Set XL = Nothing With Application .EnableEvents = True .DisplayAlerts = True .ScreenUpdating = True '.Calculation = xlCalculationAutomatic End With ReadDataFromWorksheet = Results End Function