Den K(r)ampf über VBA würde ich mir ersparen und den Weg über .NET gehen. Assembly mit COM-Schnittstelle erstellt, registriert und dann in Excel über Verweise einbinden.