Macros Excel avec Javascript

Je souhaite manipuler des feuilles de calcul Excel à l'aide de macros dans Javascript plutôt que la VBA par défaut. Je peux exécuter le code javascript en utilisant le code VBA suivant

'javascript to execute Dim b As String b = "function meaningOfLife(a,b) {return 42;}" 'VBA tool to run it Dim o As New ScriptControl o.Language = "JScript" o.AddCode b MsgBox o.Run("meaningOfLife", 0, 1) 

Cela me permet d'exécuter des javascript arbitraires, mais je n'ai pas accès à la feuille de calcul Excel à partir de l'environnement javascript. Est-ce que je peux définir et obtenir des valeurs de feuille de calcul dans la feuille de calcul active à partir de javascript?

Cela dépend de la sorte de «programmation Excel» que vous voulez faire.

Si vous souhaitez manipuler des fichiers Excel, vous pouvez le faire via l'automatisation COM, ou même ODBC dans une certaine mesure, en utilisant JavaScript en cours d'exécution sous l'environnement de script Windows.

Mais si vous souhaitez que votre code soit exécuté dans une session Excel active en faisant des choses que le visiteur verra, vous avez moins d'options.

Voyez cette question que j'ai posté quelques années plus tard lorsque j'avais un JavaScript que je voulais exécuter dans Excel et que le budget ne devait pas être converti en VBA:

Comment puis-je utiliser JavaScript dans une macro Excel?

Bien sûr, maintenant, dans Excel 2013, vous avez l'API JavaScript ( http://zoom.it/UAzs#full ) et pouvez interagir avec la feuille de calcul à l'aide du volet des tâches et des APPS de contenu.

Essayez Excel-DNA pour une interface programmée vers Excel. Deux autres outils intéressants à regarder sont xlwings et Excel-REPL qui prennent en charge les interfaces Python et Clojure respectivement.