【发布时间】:2017-12-28 20:41:49
【问题描述】:
在this link,它说
在开发和测试期间,您可以通过删除文件夹
<user>\AppData\Local\Microsoft\Office\16.0\Wef\CustomFunctions来手动清除计算机的注册元数据缓存。
然后我进行如下测试:
我在工作簿的服务器中加载了一个指向原始
customfunctions.js的manifest.xml。关闭工作簿后,文件会自动保存在...\Wef\CustomFunctions\V1。我通过将
Excel.Script.CustomFunctions["CONTOSO"]["ADD42"]替换为Excel.Script.CustomFunctions["CONTOSO"]["ADD42NEW"]在我的服务器中手动修改customfunctions.js。我打开一个新工作簿,在单元格中输入
=contoso.后,IntelliSense 显示contoso.add42而不是add42new。输入=contoso.add42(5;4)后,单元格显示#GETTING_DATA并且不返回值。这是可以理解的,因为它适用于不再存在的功能。如果我们单击另一个单元格并输入例如
=2+3,我们会看到工作簿已刷新,#GETTING_DATA变为#NAME?。现在 IntelliSense 显示contoso.add42new而不是contoso.add42。
最后,我认为可能存在一个错误:当我们打开工作簿时,IntelliSense 应该给出当前customfunctions.js 中定义的自定义函数的更新列表。
实际上,理想的是工作簿中的自定义函数始终与customfunctions.js 中定义的保持一致。如果没有这个错误,今天我们仍然需要关闭工作簿并重新打开工作簿才能更新。有谁知道是否有一种解决方法可以使打开的工作簿中的自定义函数保持动态更新?是否有一个刷新触发器允许我们在打开的工作簿中从当前的customfunctions.js 更新自定义函数?
【问题讨论】:
标签: ms-office office-js custom-functions-excel