2011-08-12 2 views
1

J'utilise donc des modèles Excel 2007 .xltm avec des connexions de données à SQL Server pour extraire des tables de rapport. Chaque fichier a une poignée de fonctions VBA pour gérer l'actualisation, la déconnexion, le formatage, la saisie utilisateur, etc. J'ai 50+ .xltms avec le même ensemble de modules, donc c'est assez compliqué d'apporter des modifications à tous leurs VBA.Empaquetage et réutilisation du code VBA dans Excel

Est-il possible de coder le VBA Excel pour référencer des fichiers VBA externes? De cette façon, quand je fais un changement, je ne le change que dans le fichier source vba principal. Cela peut être un étirement, mais est-il possible d'écrire un module/.NET dll qui importerait le fichier .bas sur ouvert?

Merci à l'avance, -Matt

+0

Avez-vous besoin que le code soit incorporé dans chaque modèle, ou est-ce que tout pourrait simplement résider dans un add-in qui est chargé en ouvert? –

+0

Un complément peut fonctionner. Les modèles appellent seulement les fonctions du complément, correct? Ont-ils besoin d'un savoir-faire plus codant que VBA? J'ai lu brièvement sur les compléments COM pour Excel. – TheNoodle

+4

Oui, c'est assez simple: http://www.exceltip.com/st/How_to_Use_Your_Excel_Add-In_Functions_in_VBA/630.html Vous avez juste besoin de vous assurer que tout code dans le complément ne fait pas référence (par exemple) à "ThisWorkbook "mais utilise à la place" ActiveWorkbook ", etc. –

Répondre