gpt4 book ai didi

excel - 循环遍历文件夹 VB 中所有工作簿的代码

转载 作者:行者123 更新时间:2023-12-04 20:20:30 26 4
gpt4 key购买 nike

我有一些 excel (.xls) 存储在本地驱动器的文件夹中。我需要对这个文件夹中的每个文件进行一些处理。什么是代码

  • 遍历每个文件
  • 打开文件
  • 做一些处理,然后保存并关闭文件
  • 处理后将文件移动到另一个文件夹

  • 更清楚地说,我想检查每个文件并对其进行处理。完成一个文件后,转到另一个文件,直到文件夹中所有文件结束。我确实有处理代码;我只需要知道将遍历文件然后移动到另一个文件夹的代码。

    提前感谢您的帮助,

    最佳答案

    您需要的是一个递归函数,它遍历表示文件系统的树。这意味着遍历某个“父文件夹”的所有子文件夹。我向您发送了一个与您需要的功能类似的功能(目前正在使用中)。此函数删除给定父文件夹的所有空文件夹。

    Public Function gf_DeleteEmptyFolder(path As String) As Boolean
    On Error GoTo Error_Handler
    Dim fso_folder As Scripting.Folder, sub_folder As Scripting.Folder
    If g_FSO.FolderExists(path) Then
    Set fso_folder = g_FSO.GetFolder(path)
    '-- eliminates de folder only if is empty
    If 0 = fso_folder.Files.Count And 0 = fso_folder.SubFolders.Count Then
    Call g_FSO.DeleteFolder(path, False)
    '-- recursively calls the function
    Else
    For Each sub_folder In fso_folder.SubFolders
    Call gf_DeleteEmptyFolder(sub_folder.path)
    Next
    End If
    End If
    gf_DeleteEmptyFolder = True
    Exit Function
    '~~~ on error
    Error_Handler:
    gf_DeleteEmptyFolder = False
    End Function

    如果您的文件存储在一个简单的文件夹中,那么您可以使用以下代码来迭代每个文件。
    Public Sub fsoProcessFilesInFolder(sFolder As String)        
    Dim fso As Scripting.FileSystemObject, fld As Scripting.Folder, fil As Scripting.File
    Set fso = New FileSystemObject
    Set fld = fso.GetFolder(sFolder)
    For Each fil In fld.Files
    '--- add code to process your files
    Next fil
    End Sub

    关于excel - 循环遍历文件夹 VB 中所有工作簿的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3973129/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com