Moving a Sub and maintaining correct scope (replacing Me.)
===

I have a Sub within my application that is currently located within a userform called FRMPFC_folderCreatorWindow. For clarity of the overall application I wish to move this Sub from the userform into a Module called PFC_filesystemManipulation and call the Sub from there via a button in FRMPFC_folderCreatorWindow however, when I do this and run my code, an error is generated at the line:

    For Each cCont In Me.Controls

I understand that this is because the Sub has been taken outside of the context of the form however, how do I maintain context without using Me.Controls? I'm guessing I need to reference the form and use FRMPFC_folderCreatorWindow.Controls but as most of the controls are nested within frames I'm unsure whether my current code acts upon the form or just the frame within which the button is located. Any help would be much appreciated.

    Private Sub PFC_createFolders(Basepath, currentControl, parentFolder, parentGroup)

    Dim cCont As Control
    Dim createSubFolder As String
    Dim fs As Object
    
    Set fs = CreateObject("Scripting.FileSystemObject")

    'Check if the project folder already exists and if so, raise an error and exit
        MkDir Basepath & "\" & parentFolder
        
        'Create the superceded documents folder in every 2nd generation folder
        MkDir Basepath & "\" & parentFolder & "\" & "_Old versions"
        For Each cCont In Me.Controls
            If TypeName(cCont) = "CheckBox" Then
                If cCont.GroupName = parentGroup Then
                    If cCont.Value = True Then
                        If cCont.Name <> currentControl Then
                            createSubFolder = cCont.Caption
                            NewFolder = Basepath & "\" & parentFolder & "\" & createSubFolder
                            If fs.folderexists(NewFolder) Then
                                'do nothing
                            Else
                                'Create 3rd generation folder
                                MkDir NewFolder
                                
                                'Create the superceded documents folder in every 3rd generation folder
                                MkDir NewFolder & "\" & "_Old versions"
                                
                                'Create hard-coded subfolders within Confirmit Exports
                                If createSubFolder = "Confirmit Exports" Then
                                    MkDir Basepath & "\" & parentFolder & "\" & createSubFolder & "\Triple S"
                                    MkDir Basepath & "\" & parentFolder & "\" & createSubFolder & "\Word Export"
                                    MkDir Basepath & "\" & parentFolder & "\" & createSubFolder & "\Survey Definition"
                                    MkDir Basepath & "\" & parentFolder & "\" & createSubFolder & "\Data"
                                    MkDir Basepath & "\" & parentFolder & "\" & createSubFolder & "\Data" & "\" & "Early Data"
                                    MkDir Basepath & "\" & parentFolder & "\" & createSubFolder & "\Data" & "\" & "Final Data"
                                End If
                                
                            End If
                            
                        End If
                        
                    End If
                    
                End If
       
            End If

        Next cCont
    
       End Sub
