Macros Excel avec Javascript
Je souhaite manipuler des feuilles de calcul excel à l'aide de macros en Javascript plutôt que la valeur par défaut de VBA. Je peut exécuter du 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)
ça me permet d'executer du javascript, cependant je n'ai pas accès à la feuille de calcul excel à partir de l'intérieur de l'environnement javascript. Est-il possible que je peux configurer et obtenir la feuille de calcul des valeurs dans la feuille de calcul active depuis javascript?
Vous pouvez passer dans les objets excel pour le JavaScript?au lieu de 0 et de 1?
regardez ExcelDNA pour voir comment ils le font, alors s'adapter à la JS au lieu de C#
regardez ExcelDNA pour voir comment ils le font, alors s'adapter à la JS au lieu de C#
OriginalL'auteur Matthew Molloy | 2013-11-24
Vous devez vous connecter pour publier un commentaire.
Ça dépend de quelle sorte de "Excel programmation" vous voulez faire.
Si vous voulez manipuler Excel fichiers, vous pouvez le faire via automation COM, ou même ODBC dans une certaine mesure, à l'aide de JavaScript s'exécutant sous Windows scripting environnement.
Mais si vous voulez avoir votre code s'exécutant au sein d'une Excel session à faire des choses que le visiteur peut voir, vous avez moins d'options.
Voir à cette question, j'ai posté quelques années en arrière lorsque j'ai eu un peu de JavaScript, je voulais courir dans Excel et vous n'avez pas le budget pour convertir VBA:
Comment puis-je utiliser JavaScript dans une macro Excel?
OriginalL'auteur richardtallent
Bien sûr, maintenant dans Excel 2013, vous avez l'API JavaScript (http://zoom.it/UAzs#full) et peut interagir avec la feuille de calcul à l'aide du volet des tâches et le contenu des APPLICATIONS.
OriginalL'auteur bs0d
Pour les personnes à l'aide d'Excel 2016 ou version ultérieure, il est un complément Excel appelé Funfun dans le magasin qui vous permet d'écrire et d'exécuter du code JavaScript directement dans Excel. Et bien sûr, votre code JavaScript a également accès aux données stockées dans la feuille de calcul. Voici une capture d'écran de la façon dont il ressemble dans Excel
2016.
Bien dans le milieu de l'interface vous avez une section dans laquelle vous pouvez écrire du JavaScript, code CSS et HTML. C'est un peu comme une aire de jeux intégré dans Excel. Mais le Funfun dispose également d'un éditeur en ligne dans lequel vous pouvez tester votre code. Vous pouvez le voir dans l'image ci-dessous. J'ai aussi posté le lien de l'exemple de la première image de sorte que vous pourriez jouer avec.
https://www.funfun.io/1/#/edit/5a4e0d461010eb73fe125c4e
Ce qui est spécial au sujet de la Funfun éditeur en ligne est qu'il contient une "feuille de calcul" juste comme Excel. Si vous ne pouvez pas réellement faire toute la mise en forme dans ici, vous pouvez copier vos données dans les cellules et de tester votre code directement.
D'utiliser les données stockées dans la feuille de calcul, tout ce que vous devez faire est d'écrire un peu de configuration dans le court.io fichier de Funfun dire à JavaScript qui zone dans la feuille de calcul qui contient vos données. Par exemple, dans l'exemple que j'ai posté, tout ce que vous devez écrire est
Et dans le code JavaScript, un objet appelé $internes est utilisée pour lire les données. Afin de lire les données stockées dans A2:B9, vous devez écrire
Et de son fait. Vous pouvez aller à la la documentation de Funfun si vous voulez en savoir plus.
Si vous êtes satisfait avec le résultat obtenu sur l'éditeur en ligne, vous pouvez facilement charger le résultat dans Excel à l'aide de l'URL ci-dessus. De couse vous devez d'abord insérer la Funfun complément de Insérez - Mon add-ins. Voici quelques captures d'écran montrant comment vous pouvez faire cela.
Divulgation: je suis un développeur de Funfun
OriginalL'auteur Chuan Qin
Essayer Excel-l'ADN pour une interface de programmation d'Excel. Deux autres outils sympathiques à regarder sont xlwings et Excel-REPL qui soutiennent Python et Clojure interfaçage respectivement.
OriginalL'auteur Matthew Molloy