【问题标题】:Get the current URL inside the custom functions of an Excel JS Office-Add-In在 Excel JS Office-Add-In 的自定义函数中获取当前 URL
【发布时间】:2019-07-30 12:50:54
【问题描述】:

我想从自定义函数中打开一个对话框,因为我不想硬编码该对话框的位置,所以我需要当前运行的加载项的位置来动态创建对话框的 URL。

对于 Office 在线 window.location 工作得非常好,但在使用特殊运行时间的桌面版本中,这是不可用的。我怎样才能做到这一点?是否有另一个对象可以从中获取位置,或者是否有办法从清单文件动态接收信息?

感谢您的时间

【问题讨论】:

  • 您是否尝试过document.url,它应该与host_info一起返回url
  • 感谢您的建议,但不幸的是,这在这个特殊的运行时间内效果不佳
  • 特殊运行时是什么意思?我检查了我的桌面版本,效果很好
  • 什么桌面版? Excel Office JS 插件中的自定义函数使用新的 JavaScript 运行时,该运行时不同于插件其他部分使用的运行时,它旨在优化自定义函数中的计算性能 [...] 在 Windows 上的 Excel 中,自定义函数使用 JavaScript 运行时,自定义函数无法访问 DOM。 github.com/OfficeDev/office-js-docs-pr/blob/master/docs/excel/… 我知道有一些限制,并且我有解决方法的想法,但我更愿意不费吹灰之力地获取 URL,也许是不必要的努力

标签: javascript excel office-js office-addins custom-function


【解决方案1】:

自定义函数目前无法访问 api。我们正在努力直接公开对 office.js 的访问,但现在,您必须在初始化时从任务窗格中获取此属性,然后将其存储在 officeruntime.storage 中,然后您可以从自定义函数中检索它。

office.js 支持的功能正在这里开发和跟踪: https://github.com/OfficeDev/Excel-Custom-Functions/issues/130

谢谢

【讨论】:

  • 感谢您的确认,不幸的是,这正是我所期望的答案。我现在必须使用该解决方案,但我不喜欢它,因为当然可以在第一次打开任务窗格之前使用公式......如果有人可能会从不同的地方切换相同插件的用法位置可能会有点混乱
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-02
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 2019-08-11
  • 1970-01-01
相关资源
最近更新 更多