7 votes

Pouvez-vous utiliser d'autres langages à la place de VB pour les macros Excel ?

Pouvez-vous utiliser d'autres langages à la place de VB pour les macros Excel ?

3voto

Anurag Points 829

Oui, il est possible d'écrire des macros Excel en Python via pyxyle

Par ailleurs, vous pouvez même modifier les macros existantes en Python :

https://stackoverflow.com/questions/9913603/is-it-possible-create-edit-an-excel-macro-from-Python

3voto

Jeremy Points 11

Une autre option est le C# avec .NET. Consultez ce lien :

http://excel-dna.net/

Je ne l'ai pas beaucoup utilisé, mais cela vaut peut-être la peine d'essayer.

2voto

Adam Ryczkowski Points 832

Il est important de noter que, puisque exactement tous Les capacités d'automatisation d'Excel disponibles pour VBA sont en fait servies par le programme COM vous pouvez utiliser l'interface tout langage supportant les objets Windows COM (ActiveX) . Il se traduit grosso modo par presque tous les langages de programmation modernes de la planète. J'ai personnellement utilisé avec succès Excel à partir de Wolfram Research Mathematica et de C++ pur. Si vous ne disposez pas d'une bibliothèque spécialisée pour gérer la hiérarchie des objets Excel (comme celle qui, je suppose, existe pour Python), il se peut que l'utilisation ne soit pas aussi agréable qu'avec le langage natif VB.

Visual Basic 6 (et Visual Basic pour les applications) étaient conçu en tenant compte de la conformité avec l'architecture COM. Cela signifie que la plupart des types de données définis pour COM sont natifs pour Excel et qu'ils n'ont pas besoin d'être transformés à chaque appel. Je soupçonne donc que la manipulation d'Excel à partir de VBA est la plus efficace.

1voto

Sergey Vlasov Points 111

Vous pouvez utiliser C# pour créer des commandes et des fonctions Excel avec mon ESharper compléter. Le code peut être édité et exécuté directement dans une session Excel en direct.

0voto

Arctiic Points 660

AutoHotKey (.ahk scripts) fonctionne également avec Excel, bien que je ne sois pas certain de l'étendue du support COM. Vous pouvez vérifier auprès de leurs @Helpers par l'intermédiaire de leur site Web. Discord

Voici un exemple cas d'utilisation de indirecte L'utilisation synergique qui n'implique pas d'interface directe mais qui est techniquement qualifiée d'intrants de macro-ingénierie (si nous ne sommes pas pointilleux sur la spécificité du langage vernaculaire).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X