0

我的代码循环遍历包含 100 多个文件的文件夹(每天添加更多文件)并复制文件、数据等。我循环遍历的每个文件最终都在 VBA 项目资源管理器中,如图所示。这确实减慢了我的代码的运行时间。有什么办法可以阻止将每个工作簿添加到 Project Explorer 中?此外,我还没有使用我调用的优化子例程运行我的代码,因为我在运行我的原始代码后添加了这些子例程(现在编辑器基本上被冻结了)。我附上了我的代码以及下面的问题图片!

重载的 VBA 项目资源管理器

Sub TransferSAPCLData_Click()

'Code Optimization
Call OptimizeCode_Begin

'Declaring and Setting Variables
Dim fso As Scripting.FileSystemObject
Set fso = New Scripting.FileSystemObject

Dim MyDir As String
Dim fil As Scripting.file
Dim FolderSource As Scripting.Folder
Dim FolderPathDest As String, wbDest As Workbook, wsDest As Worksheet
Dim wbSource As Workbook, wsSource As Worksheet
Dim lrDest As Long, fileDest As String, lrSource As Long
Dim CurrentFile As String
Dim fileSource As String

MyDir = "C:\Users\quirk\Desktop\Cory Project\Wave 1A Content\SAPCL Spreadsheets\SAPCL Raw Data Files"

'Defining destination characteristics
FolderPathDest = "C:\Users\quirk\Desktop\Cory Project\Wave 1A Content\Master SAPCL Folder"
fileDest = "C:\Users\quirk\Desktop\Cory Project\Wave 1A Content\Master SAPCL Folder\Function Master File.xlsm"
'Workbooks.Open Filename:=fileDest
Set wbDest = ActiveWorkbook ' Workbooks("MASTER.xlsx")
Set wsDest = wbDest.Worksheets("Sheet1")


'Looping through files
Set FolderSource = fso.GetFolder(MyDir)
For Each fil In FolderSource.Files
    Debug.Print fil.Name
    CurrentFile = fil.Name
    If Not fso.FileExists(FolderPathDest & "\" & fil.Name) Then
        fso.CopyFile _
        Source:=MyDir & "\" & fil.Name _
        , Destination:=FolderPathDest & "\" & fil.Name
            fileSource = MyDir & "\" & fil.Name
            Workbooks.Open Filename:=fileSource '
            ActiveWindow.Visible = False
            Set wbSource = Workbooks(CurrentFile)
            Set wsSource = wbSource.Worksheets(1)
                lrSource = wsSource.Range("A" & wsSource.Rows.Count).End(xlUp).Row
                lrDest = wsDest.Range("A" & wsDest.Rows.Count).End(xlUp).Row + 1
                wsSource.Range("A2:V" & lrSource).Copy Destination:=wsDest.Range("A" & lrDest)
    End If
Next fil

'Optimize Code
Call OptimizeCode_End

End Sub
4

0 回答 0