I found this quite an interesting read!

Hope its useful for someone!

When Automating an Office product from Visual Basic, it may be useful to move part of the code into a Microsoft Visual Basic for Applications module that can run inside the process space of the server. This can boost overall execution speed for your application and help alleviate problems if the server only carries out an action when a call is made in-process.

See <A target="_blank" HREF="http://support.microsoft.com/default.aspx?scid=kb;en-us;219905">How To Dynamically Add and Run a VBA Macro from Visual Basic
</A>