While working on [Bug 59858], I found that there can be multiple copies of a macro with the same name. Given that we're storing macros only by the macro name, this means that we might overwrite or skip macros with the same name. If we want to maintain all macros, I propose that we store them as macroDir.getPath()+"\\"+macroName. In 59858's test file, we'd have: \_VBA_PROJECT_CUR\VBA\ThisWorkbook \_VBA_PROJECT_CUR\VBA\SupportFunctions \_VBA_PROJECT_CUR\VBA\ReferencesAndConstants \_VBA_PROJECT_CUR\VBA\frmPageCreation \_VBA_PROJECT_CUR\VBA\Sheet4 \_VBA_PROJECT_CUR\VBA\Sheet6 \_VBA_PROJECT_CUR\VBA\Sheet7 \_VBA_PROJECT_CUR\VBA\Sheet5 \_VBA_PROJECT_CUR\VBA\Sheet2 \_VBA_PROJECT_CUR\VBA\Sheet3 \_VBA_PROJECT_CUR\VBA\Sheet1 \MBD00082648\_VBA_PROJECT_CUR\VBA\Sheet2 \MBD00082648\_VBA_PROJECT_CUR\VBA\ThisWorkbook \MBD00082648\_VBA_PROJECT_CUR\VBA\Sheet3 \MBD00082648\_VBA_PROJECT_CUR\VBA\Sheet1 I'll leave this open for comment for a few days. I'm not sure this is the best option...