You could convert your subroutines to functions, which would allow you to return the completion status.
Sub Macro_All
if Macro1 then
if Macro2 then
if Macro3 then
else
' report failure of macro3
endif
else
' report failure of macro2
endif
else
' report failure of macro1
endif
End Sub
Sub Macro1()
' your code
End Sub
as a function it would be something like this. The important part is how you are currently handling the error. You can incorporate in to that the setting of the completeStatus variable, which is returned to the calling routine.
Function Macro1() as boolean
Dim completedStatus as boolean
completedStatus=true
' your code
' if there is an error or no file then
completedStatus = false
' return value if all good
Macro1 = completedStatus
end function
Bookmarks