Office JavaScript DialogApi не найден в Excel 2016 - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь использовать Office JavaScript DialogApi 1.1 в Excel. Согласно документации, похоже, что она должна работать с моей версией, но, похоже, она не установлена.

Набор требований указывает, что он не поддерживается, и объект Office.context.ui не определен во время выполнения.

Я что-то упустил или это просто не поддерживается моей версией Excel?

Версия:
Windows 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>

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Инженеры Microsoft считают, что, вероятно, произошло то, что библиотека DLL, которую Office использует для сообщения своей версии в пользовательском интерфейсе, была обновлена ​​на вашем компьютере, но другие библиотеки DLL, которые должны были быть обновлены одновременно, не обновлялись. Это может произойти, если пользователь решит применить обновления безопасности, но не другие обновления. Когда обновления Office применяются через Центр обновления Майкрософт, все библиотеки DLL Office должны автоматически обновляться вместе. В тех случаях, когда обновления применяются вручную, некоторые библиотеки Office DLL могут не включаться в обновление. Вам нужно применить исправление osfclient-x-none MSP и убедиться, что osf.dll имеет версию не ниже 16.0.4390.1000.

Чтобы применить обновления по отдельности, на этой странице перечислены последние файлы обновлений Office 2016. Ищите обновление osfclient-x-none .

0 голосов
/ 04 июля 2019

Можете ли вы попробовать открыть эту ссылку https://appsforoffice.microsoft.com/lib/1/hosted/excel-win32-16.01.js с помощью IE / Edge и вставить версию, как показано ниже: / * * @overview es6-обещание - крошечная реализация Promises / A +. * @copyright Copyright (c) 2014 Иегуда Кац, Том Дейл, Стефан Пеннер и авторы (Преобразование в API ES6 Джейком Арчибальдом) * @license Лицензия под лицензией MIT * См https://raw.githubusercontent.com/jakearchibald/es6-promise/master/LICENSE * @version 2.3.0 * /

Нам интересно, есть ли какой-нибудь локальный кеш, из-за которого не выбирается последняя версия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...