2010-11-02 18 views
2

J'ai une macro VBA dans Excel qui génère du code C. Est-il possible de déclencher l'exécution de cette macro dans le cadre du processus de construction basé sur make (par exemple via VBScript)? Si oui, comment?Démarrer la macro VBA (Excel) à partir de la ligne de commande

+0

Cela ressemble à une façon intéressante de faire les choses :). Pourriez-vous poster pourquoi l'utilisez-vous de cette façon? Juste une curiosité ... –

+0

Le générateur de code Excel n'était pas mon idée. Le code généré est une configuration pour un composant de communication pour un système intégré. De cette manière, les collègues peuvent modifier la configuration sans être familiers avec l'implémentation. Excel fournit une interface utilisateur suffisante pour cela. De plus, le générateur peut effectuer quelques vérifications de sécurité et s'assurer que les deux extrémités ont la configuration correspondante. – felix0322

+0

Tnx pour la réponse! J'ai vu des implémentations similaires auparavant, mais toutes exportaient des résultats numériques en csv, post-traitées par awk ou similaire. –

Répondre

1

Oui, vous devez automatiser Excel, puis vous utilisez la fonction InvokeMember pour exécuter votre macro.

L'article suivant vous montre comment le faire de .Net, il devrait être similaire à appeler de VBscript sauf que vous aurez besoin d'utiliser la liaison tardive: HOW TO: Run Office Macros by Using Automation from Visual C# .NET

Et voici un blog montrant comment appeler une macro personnalisée dans Outlook à partir de VBScript: Calling Outlook VBA Macro from outside (VB/VBScript/C#)

+0

Merci. C'était ce dont j'avais besoin. (L'article HOWTO lié à http://support.microsoft.com/kb/177760/EN-US/, où le 'app.Run "Module1.TestMacro"' est mentionné – felix0322