【问题标题】:Keep custom functions aligned with their source files使自定义函数与其源文件保持一致
【发布时间】:2017-12-28 20:41:49
【问题描述】:

this link,它说

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

然后我进行如下测试:

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

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

  3. 我打开一个新工作簿,在单元格中输入=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 更新自定义函数?

【问题讨论】:

    标签: ms-office office-js custom-functions-excel


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多