I want to make a macro that will call a different macro depending if the activeDoc is a part, an assembly, and will also give an error message if the activeDoc none of those.
Why do the macros need to be separate? They can each be a separate procedure or module.
Here is an example which shows how to run other macros from SOLIDWORKS macro: Macro to run group of macros using SOLIDWORKS API . You can adjust it as per your needs
Retrieving data ...