Office JS - 有没有办法验证清单文件中提到的功能是否已加载?

时间:2017-05-11 06:40:35

标签: office365 office-js

我呈现功能文件html的web-app有一个web过滤器,因此如果没有成功登录,该文件将无法呈现。现在,当我加载外接程序时,所有按钮都会出现,但绑定到这些按钮的函数不会呈现。单击这些按钮会显示“Excel正在处理所以& so(按钮名称)” - 这仍然是永远的。有没有办法捕捉到那里发生的事情?并且,如果有任何例外,它可以一直抛出吗?

1 个答案:

答案 0 :(得分:3)

" Excel正在努力......"出现在调用函数的时间和函数接收到的事件上调用completed()回调的时间之间。如果您看到此通知持续时间过长,则表明您的函数正在被调用,但是:

  • 您的功能在完成后调用event.completed()
  • 您的函数在调用event.completed()回调之前会抛出异常。

对于以这种方式调用的函数,F12开发人员工具将没有多大帮助。执行该函数的上下文根本不能存活足够长的时间来附加它。

我建议使用以下解决方案之一来解决此问题:

  1. 使用一个按钮实现任务窗格,该按钮将触发您要测试的功能。启动该任务窗格,将F12 Developer Tools附加到该任务窗格,然后单击按钮。在这里,您可以监视控制台是否存在未捕获的异常,将debugger语句添加到代码中以进行调试等。

  2. 或... try / catch块中包含您的函数内容,并在catch块中设置值工作表中的单元格指向捕获的错误消息。

  3. 选项2可能会更快地为您提供所需内容,但选项1将为您以后对其他内容进行更彻底的调试进行设置。

    我希望这有帮助!