If you run call RunAutoMacros twice within the same subroutine, the second calling within the same subroutine of the RunAutoMacros method will fail. For example, in the following routine, the message box will not appear:
Sub RunAutoCode()
ThisWorkbook.RunAutoMacros which:=xlAutoOpen
ThisWorkbook.RunAutoMacros which:=xlAutoClose
MsgBox "Returned"
End Sub