Instead of buttons: nice of a link could point to a macro. Click here to do this ... Can be dynamic create in scripts too.
Macro Security : keep a Code_Last_Modified_Date - if user trusts a code then a check box not to prompt to trust same file until code is modified.
Code Location: Keep code in a linked file - so can change classes etc via version control - in one go instead of having to go to the editor and pasting there. Anyway will be used by developers and when we distribute its our responsibility to tell the users to keep additional files in correct relative folders, or give an installer as with other programs.
Microsoft Office Macros are very powerful - and should be encouraged and new features added all the time.