Excel 使用vba分离foldername和显示在to列中

Excel 使用vba分离foldername和显示在to列中,excel,vba,Excel,Vba,我是VBA新手, 我需要一些代码VBA的例子,以获取具有指定名称的子文件夹列表,并将其放入excel表中。我的文件夹的名称如下: AUD_C1234_02_产品 我想在我有4列的表中获得这样的名称(新行中的每个文件夹名称),所以新列的分隔符是下划线_ 最终结果必须是: A列B列C列D 澳元C1234 02产品 获取子文件夹: 您可以创建FileSystemDescripting对象 将文件夹名称分为4列。 可以使用split()函数来执行此操作 以下是示例代码: Sub putSubFolder

我是VBA新手, 我需要一些代码VBA的例子,以获取具有指定名称的子文件夹列表,并将其放入excel表中。我的文件夹的名称如下: AUD_C1234_02_产品

我想在我有4列的表中获得这样的名称(新行中的每个文件夹名称),所以新列的分隔符是下划线_ 最终结果必须是: A列B列C列D 澳元C1234 02产品

  • 获取子文件夹: 您可以创建FileSystemDescripting对象

  • 将文件夹名称分为4列。 可以使用split()函数来执行此操作

  • 以下是示例代码:

    Sub putSubFoldersIntoSheet(inputFolderPath As String)
    
        Dim fso As FileSystemObject
        Set fso = New FileSystemObject
    
        Dim inputFolder As Folder
        Set inputFolder = fso.GetFolder(inputFolderPath)
    
        Dim subFolder As Folder
    
        Dim rowIndex As Long: rowIndex = 1
        Dim columnIndex As Long: columnIndex = 1
    
        For Each subFolder In inputFolder.SubFolders
    
            Dim folderName As String
            folderName = subFolder.Name
    
            Dim splitFolderName() As String
            splitFolderName = Split(folderName, "_")
    
            Dim splitFolderNameElement As Variant
    
            columnIndex = 1
            For Each splitFolderNameElement In splitFolderName
    
                Sheet1.Cells(rowIndex, columnIndex) = splitFolderNameElement
                columnIndex = columnIndex + 1
            Next
    
            rowIndex = rowIndex + 1
        Next
    
    End Sub
    

    你好thnx用于帮助…但在宏中运行时,它并没有选择文件夹………您能告诉我该怎么做吗?要调用此函数,您需要将文件夹路径作为参数传入。