使用Javascript的Excelmacros

我希望在Javascript中使用macros来处理excel电子表格,而不是默认的VBA。 我可以使用以下VBA代码执行JavaScript代码

'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) 

这使我能够执行任意的JavaScript,但是我没有从JavaScript环境中访问Excel电子表格。 有没有什么办法,我可以设置和工作表中的值在JavaScript中的活动工作表?

这取决于你想要做什么样的“Excel编程”。

如果你想操纵Excel 文件 ,你可以通过COM自动化,甚至ODBC在一定程度上使用在Windows脚本环境下运行的JavaScript。

但是如果你想让你的代码在活动的Excel会话中运行,访问者将会看到,你的select就更less了。

看到这个问题,我发布几年前,当我有一些JavaScript我想在Excel中运行,并没有预算转换为VBA:

如何在Excelmacros中使用JavaScript?

当然,现在在Excel 2013中,您可以使用JavaScript API( http://zoom.it/UAzs#full ),并且可以使用任务窗格和内容APPS与电子表格进行交互。

尝试使用Excel-DNA作为Excel的编程接口。 另外两个很好的工具是分别支持Python和Clojure接口的xlwings和Excel-REPL 。