Надстройка Office не загружается в Excel 2013, когда в манифест добавлен набор требований для Excel API 1.2

Надстройка Excel, использующая Excel API 1.2. Надстройка отлично загружается в Excel 2016 для Windows и Excel в Интернете. Сохраните файл из Excel в Интернете и откройте в Excel 2013, надстройка не загружается в Excel 2013 со следующими ошибками:

При загрузке дополнения, опубликованного в магазине:

APP ERROR We can't load this app because we could not connect to catalog

При загрузке дополнения из доверенного каталога:

This app could not be started. Close this dialog to ignore the problem or click restart to try again

Я знаю, что Excel 2013 не поддерживает Excel API 1.2. Не могли бы вы подтвердить рекомендуемый способ убедиться, что надстройка загружается в Excel 2013?

• Следует ли использовать проверки времени выполнения с использованием метода isSetSupported?

• Как в таких случаях отладить, какая строка кода дает сбой в клиенте Excel 2013?

• Есть ли какое-либо ведение журнала, которое можно включить для устранения таких проблем в клиенте Excel?

Я попытался отладить надстройку по умолчанию, созданную VS 2015, которая использует API Excel 1.2 в Excel 2013. Я добавил следующие требования, установленные в манифест:

<Requirements>
    <Sets DefaultMinVersion="1.2">
      <Set Name="ExcelApi" />
    </Sets>
</Requirements>

Надстройка также не загружается в Excel (15.0.4849.1003) при отладке с использованием VS 2015. Она отлично работает в клиенте Excel 2016.


person Pradip Fopse    schedule 13.09.2016    source источник


Ответы (1)


Я думаю, здесь есть две отдельные проблемы (хотя есть большая вероятность, что они связаны, и платформа просто выдает неправильную строку ошибки. Если да, давайте подтвердим, а затем я могу сообщить об ошибке, чтобы мы исправили это) .

Excel 2013 не поддерживает набор требований «ExcelApi», который является добавлением в 2016 году API-интерфейсов для конкретных хостов (то же самое касается «WordApi»). Если вы укажете ExcelApi в разделе требований манифеста, как указано выше, это всегда не будет загружаться в Excel 2013 - по дизайну. По сути, вы запрашиваете набор API и помечаете его как «необходимый» для чего-то, что Excel 2013 не поддерживает, поэтому у него нет другого выбора, кроме как отказаться от его запуска.

Вот здесь-то и появляется проверка времени выполнения (isSetSupported). См. Мой ответ на странице Удобные способы получить среду (например, версию Office) для получения дополнительных сведений.

Я не уверен, что вы имеете в виду, говоря «как отлаживать, какая строка кода дает сбой» или устранять неполадки. По сути, любой вызов API Office 2016 (что-либо из набора ExcelApi) из 2013 приведет к сбою во время выполнения ...

Надеюсь это поможет!

person Michael Zlatkovsky - Microsoft    schedule 13.09.2016