那些Excel中的脚本:自定义函数(2)

上一篇 我演示了利用Script Lab快速创建和体验Excel中自定义函数的功能,像下面这样的效果。.

那些Excel中的脚本:自定义函数(2)

所以,这里的所谓自定义函数,其实真的就是一个javascript的函数,它需要注册一下,并且使用时带有一个前缀。大家可能好奇,到底是怎么做到的呢?这一篇文章将帮助大家了解一些背后的原理。

要理解这个原理,你需要对Office Add-in有一个基本的了解。Script Lab 其实就是一个已经编写好的Office Add-in,它和其他的Add-in一样,有两大部分组成,一部分是可运行的网页和代码,另一部分是声明Add-in功能的清单文件(manifest)。

那些Excel中的脚本:自定义函数(2)

更多详情请参考 https://learn.microsoft.com/en-us/office/dev/add-ins/overview/office-add-ins

那么,要理解为什么在Script Lab中能创建自定义函数,就要从清单文件下手了。你可以通过下面的地址找到Script Lab的清单文件。

https://github.com/OfficeDev/script-lab/blob/master/manifests/script-lab-react-prod.xml

在这个文件中搜索func,你可以看到下面的定义。实际上这就是声明了需要在Excel中扩展自定义函数这个功能,然后定义了三个路径,以及一个命名空间。

那些Excel中的脚本:自定义函数(2)

这三个文件的具体路径分别在下面定义了

那些Excel中的脚本:自定义函数(2)

而相应的命名空间定义如下

那些Excel中的脚本:自定义函数(2)

我相信大家这样就基本了解了自定义函数是怎么被定义,并且注册使用的了吧。下一篇我将在一个自己开发的Add-in中讲解如何添加自定义函数功能。