Public Sub ExportDatabaseObjects(ExportType As String, sExportLocation As Variant, strDatabase As Variant)
On Error GoTo Err_ExportDatabaseObjects
    
    Dim db As DAO.Database
    Dim td As DAO.TableDef
    Dim d As Document
    Dim c As Container
    Dim i As Integer
    
     If strDatabase & "" = "" Then
        Set db = CurrentDb()
    Else
        Set db = DBEngine.Workspaces(0).OpenDatabase(strDatabase)
    End If
    Select Case ExportType
        Case "Tables"
            For Each td In db.TableDefs 'Tables
                If Left(td.Name, 4) <> "MSys" Then
                    DoCmd.TransferText acExportDelim, , td.Name, sExportLocation & "Table_" & td.Name & ".txt", True
                End If
            Next td
        Case "Forms"
            Set c = db.Containers("Forms")
            For Each d In c.Documents
                Application.SaveAsText acForm, d.Name, sExportLocation & "Form_" & d.Name & ".txt"
            Next d
        Case "Reports"
            Set c = db.Containers("Reports")
            For Each d In c.Documents
                Application.SaveAsText acReport, d.Name, sExportLocation & "Report_" & d.Name & ".txt"
            Next d
        Case "Macros"
            Set c = db.Containers("Scripts")
            For Each d In c.Documents
                Application.SaveAsText acMacro, d.Name, sExportLocation & "Macro_" & d.Name & ".txt"
            Next d
        Case "Modules"
            Set c = db.Containers("Modules")
            For Each d In c.Documents
                Application.SaveAsText acModule, d.Name, sExportLocation & "Module_" & d.Name & ".txt"
            Next d
        Case "Queries"
            For i = 0 To db.QueryDefs.Count - 1
                Application.SaveAsText acQuery, db.QueryDefs(i).Name, sExportLocation & "Query_" & db.QueryDefs(i).Name & ".txt"
            Next i
        Case Else
    End Select
    Set db = Nothing
    Set c = Nothing
    
    MsgBox "Selected objects have been exported as a text file to " & sExportLocation, vbInformation
    
Exit_ExportDatabaseObjects:
    Exit Sub
    
Err_ExportDatabaseObjects:
    MsgBox Err.Number & " - " & Err.Description
    Resume Exit_ExportDatabaseObjects
    
End Sub