• Unfortunately, even by using the code you see below, whenever the loop encounters a password-protected mdb, the dialog box asking for the password still comes up, any other workarounds?

    Private Function GetConnectionstring(ByVal strDatabase As String) As String

    Dim strProvider As String

    On Error Resume Next

    strProvider = "Microsoft.Jet.OLEDB.4.0"

    GetConnectionstring = "Provider=" & strProvider & ";Data Source=" & strDatabase & ";Jet OLEDB"

    End Function

    Sub ProcessDatabase(ByVal strPath As String)

    Dim vbc As VBIDE.VBComponent, objConnection As ADODB.Connection, strConnection As String

    On Error GoTo ExitHere

    Set objConnection = New ADODB.Connection

    strConnection = GetConnectionstring(strPath)

    objConnection.Open strConnection

    objConnection.Close

    app.OpenCurrentDatabase strPath, , ""

    For Each vbc In app.VBE.ActiveVBProject.VBComponents

    ProcessModule vbc.CodeModule, strPath

    Next vbc

    ExitHere:

    On Error Resume Next

    ' If Err = 2467 Then

    ' app.CloseCurrentDatabase

    ' Exit Sub

    ' End If

    app.CloseCurrentDatabase

    End Sub