【问题标题】:Office JavaScript DialogApi not found in Excel 2016在 Excel 2016 中找不到 Office JavaScript DialogApi
【发布时间】:2019-07-04 13:27:00
【问题描述】:

我正在尝试在 Excel 中使用 Office JavaScript DialogApi 1.1。根据文档,它看起来应该适用于我的版本,但似乎没有安装。

需求集表明它不受支持,并且对象 Office.context.ui 在运行时未定义。

是我遗漏了什么,还是我的 Excel 版本不支持?

版本:
视窗 10
Microsoft Excel 2016 MSO (16.0.4849.1000) 32 位

taskpane.js

Office.onReady(info => {
  if (!Office.context.requirements.isSetSupported("DialogApi", 1.1)) {
    // I end up here and Office.context.ui === undefined    
    console.log('DialogApi is not supported.')
  }
});

taskpane.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Contoso Task Pane Add-in</title>

    <!-- Office JavaScript API -->
    <script
      type="text/javascript"
      src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"
    ></script>
  </head>

  <body>
  </body>
</html>

manifest.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="TaskPaneApp">
  <Id>99999999-9999-9999-9999-999999999999</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>Contoso</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="office-addon"/>
  <Description DefaultValue="A template to get started."/>
  <IconUrl DefaultValue="https://localhost:3000/assets/icon-32.png"/>
  <HighResolutionIconUrl DefaultValue="https://localhost:3000/assets/icon-80.png"/>
  <SupportUrl DefaultValue="https://www.contoso.com/help"/>
  <AppDomains>
    <AppDomain>https://localhost:3000</AppDomain>
  </AppDomains>
  <Hosts>
    <Host Name="Workbook"/>
  </Hosts>
  <DefaultSettings>
    <SourceLocation DefaultValue="https://localhost:3000/taskpane.html"/>
  </DefaultSettings>
  <Permissions>ReadWriteDocument</Permissions>
</OfficeApp>

【问题讨论】:

  • 你的版本真的是10.0.4849.100还是16.0.4849.100?
  • 感谢您发现错字。确实是 16.0.4849.1000 版本。
  • 我正在内部寻求帮助。

标签: office-js office-addins


【解决方案1】:

Microsoft 工程师认为可能发生的情况是,Office 用于在 UI 中报告其版本的 DLL 在您的计算机上已更新,但本应同时更新的其他 DLL 却没有。如果用户选择应用安全更新而不是其他更新,则可能会发生这种情况。通过 Microsoft Update 应用 Office 更新时,所有 Office DLL 应自动一起更新。在手动应用更新的情况下,某些 Office DLL 可能不包含在更新中。您需要应用 osfclient-x-none MSP 补丁并验证 osf.dll 至少为 16.0.4390.1000 版本。

要单独应用更新,this page 会列出最新的 Office 2016 更新文件。寻找 osfclient-x-none 更新。

【讨论】:

  • 就是这样。我正在运行 osf.dll 版本 16.0.4266.1001。应用建议的更新后,我的版本为 16.0.4822.1000,DialogApi 开始工作。非常感谢你的帮助。我自己永远也找不到。
【解决方案2】:

您能否尝试使用 IE/Edge 打开此链接https://appsforoffice.microsoft.com/lib/1/hosted/excel-win32-16.01.js 并将版本粘贴回如下: /* * @overview es6-promise - Promises/A+ 的一个小实现。 * @copyright 版权所有 (c) 2014 Yehuda Katz、Tom Dale、Stefan Penner 和贡献者(Jake Archibald 转换为 ES6 API) * @license 在 MIT 许可下获得许可 * 见https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE * @版本 2.3.0 */

我们想知道是否有一些本地缓存导致无法获取最新版本。

【讨论】:

  • 粘贴代码注释,尤其是已经在文件中的注释,并不能解决任何问题。
猜你喜欢
  • 1970-01-01
  • 2017-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-06
  • 2019-03-16
  • 2022-01-24
  • 2023-03-07
相关资源
最近更新 更多