1.jpg

微软最近宣布支持直接在Excel中使用JavaScript创建自定义函数,目前为开发者预览版。这一特性超出了现有微软Office JavaScript API的范围,这组API仅限于构建与Office应用程序中的对象模型发生交互的插件或Web应用程序。

微软Office团队创建了一个GitHub代码库,演示如何在Excel中使用JavaScript创建自定义函数。示例代码库将功能分为四类:

  • JavaScript:自定义函数源代码

  • JSON:Excel用来显示可用自定义函数的元数据

  • HTML:引用相关JavaScript源代码的预览发布机制以及初始化自定义函数的方法

  • XML:告诉Excel有关自定义函数及其资源的位置和命名空间

自定义函数没有相关的用户界面,开发人员不应该尝试操纵DOM。开发团队希望在最终发布此功能之前删除用于自定义函数初始化的HTML文件。

支持Promise等现代JavaScript特性,允许开发人员将自定义函数定义为同步函数,以便快速求值,或定义成异步函数,用于可能需要一段时间才能完成的计算。Streams是一种异步Promise,它可以多次返回值,而不仅仅是一次,这也是Excel自定义JavaScript函数的一个选项。

Excel的JavaScript同样利用了微软Edge浏览器所使用的Chakra JavaScript引擎。

自定义函数目前仅支持Windows、Mac和Excel Online的开发者预览版Excel,不适用于移动设备上的Excel或生产版本的Excel。

这一特性带来了与Google Sheet类似的一些功能,Google Sheet已经支持使用JavaScript来自定义函数

TypeScript用户也可以编写自定义JavaScript函数,只不过要先转成JavaScript。微软不打算在Excel中提供直接的TypeScript支持。

尽管在Excel中自定义JavaScript函数没有正式的产品发布日期,但对这一特性感兴趣的用户应该尝试此预览版本,并向Office团队提供反馈。(文章转载自程序师)