1

这个链接中,它说

在开发和测试期间,您可以通过删除文件夹来手动清除计算机的注册元数据缓存<user>\AppData\Local\Microsoft\Office\16.0\Wef\CustomFunctio‌​ns

然后我进行如下测试:

  1. 我在工作簿的服务器中加载了manifest.xml指向原始文件的指向。customfunctions.js关闭工作簿后,文件会自动保存在...\Wef\CustomFunctio‌​ns\V1.

  2. 我通过customfunctions.js替换在我的服务器中手动修改.Excel.Script.CustomFunctions["CONTOSO"]["ADD42"]Excel.Script.CustomFunctions["CONTOSO"]["ADD42NEW"]

  3. 我打开一个新工作簿,在一个单元格中,在 enter 之后=contoso.,IntelliSense 显示给我,contoso.add42而不是add42new. 输入后=contoso.add42(5;4),单元格显示#GETTING_DATA,不返回值。这是可以理解的,因为它适用于不再存在的功能。

  4. 如果我们单击另一个单元格并输入例如 ,=2+3我们会看到工作簿已刷新,并#GETTING_DATA变为#NAME?。现在 IntelliSense 显示contoso.add42new而不是contoso.add42.

最后,我认为可能存在一个错误:当我们打开工作簿时,IntelliSense 应该给出当前customfunctions.js.

实际上,理想的是工作簿中的自定义函数始终与customfunctions.js. 如果没有这个错误,今天我们仍然需要关闭工作簿并重新打开工作簿才能更新。有谁知道是否有一种解决方法可以使打开的工作簿中的自定义函数保持动态更新?是否有一个令人耳目一新的触发器,允许我们在打开的工作簿中从当前更新自定义函数customfunctions.js

4

1 回答 1

0

感谢您的提问!正如您所发现的,自定义函数定义当前仅按需更新,而不是在每个文档打开事件时更新。

我们在该领域收到了大量反馈,因此我们正在考虑对注册的工作方式进行一些更改,以便 IntelliSense/自动完成中的函数列表在会话开始时而不是在会话中间进行更新。

我现在没有要分享的细节,但请注意几个月后这里的一些变化。

于 2018-01-02T21:54:50.527 回答