对于 Mac,相同的加载项命令不适用于 Excel 中的第二个工作簿

Same Add-in comamnd does not work on second workbook in Excel for Mac

我 运行 在为 Mac 开发 Excel 的 office-js 解决方案时遇到了问题。我正在为 Mac 版本 15.35 (170517) 使用 Excel。在第一个工作簿上执行后,执行函数的任何加载项命令按钮似乎在第二个工作簿上不起作用。以下是重现此错误的步骤。

  1. 创建一个清单,向 Excel 中的“主页”选项卡添加一个按钮。使按钮调用在 selected 单元格中设置 "Hello World" 的函数。
  2. 将 Mac 的清单加载到 Excel 中。
  3. 开始 Excel,转到“插入”选项卡,然后 select 从 "My Add-ins"
  4. 旁边的下拉菜单中在第一步中创建的清单
  5. 加载项加载后,转到主页选项卡,然后单击清单创建的按钮。
  6. "Hello World" 显示在 selected 单元格上。
  7. 打开一个新工作簿。
  8. 转到主页选项卡,然后再次单击清单创建的按钮。
  9. 在 selected 单元格上没有看到 "Hello World",没有任何反应。

这是 Office.js 的错误。我们成功地重现了这个它。它只发生在 Mac.

感谢您的报告。

我们会在以后的版本中修复。

如果别人要复现,代码是

FunctionFile.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <title></title>
    <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js" type="text/javascript"></script>
    <script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js" type="text/javascript"></script>

    <script src="FunctionFile.js" type="text/javascript"></script>
</head>
<body>
</body>
</html>

FunctionFile.js

(function () {
    Office.initialize = function (reason) { };
})();

function SetData(event) {    
    Office.context.document.setSelectedDataAsync("Hello World!",
        function (asyncResult) {
            var error = asyncResult.error;            
    });    
    event.completed();
}