Как отобразить экран загрузки Excel при вычислении данных в надстройке Office? - PullRequest
0 голосов
/ 06 июня 2018

Я пишу надстройку для Office Excel.Когда пользователь вводит новое значение в ячейку, в надстройке выполняются некоторые вычисления.Иногда это происходит медленно, и я хотел бы отобразить экран загрузки в течение этого времени.

Моей первой мыслью было отобразить модальное изображение, содержащее счетчик, но пользователь все еще может взаимодействовать с документом Excel и в конечном итоге изменить«скоро устаревшие» данные.

Есть ли другой способ отобразить экран загрузки (или, по крайней мере, заморозить документ Excel) при вычислении данных?

Редактировать: Мой надстройка разработана в Javascript с интерфейсом OfficeJS и Office реагирует на ткань.

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Возможно, вы сможете использовать WorksheetProtection для этого.

Excel.run(function(ctx) {
  // get a reference to Sheet1
  var sheet = ctx.workbook.worksheets.getItem("Sheet1");

  // Protect Sheet1
  sheet.protection.protect({
    allowEditObjects: false,
    allowEditScenarios: false
  });

  return ctx.sync();
});
0 голосов
/ 06 июня 2018

Экран загрузки Excel довольно "расплывчатый".Тем не менее, с office-js возможно что-то подобное:

  1. Создайте новый лист
  2. Напишите "Спасибо за ожидание"
  3. Установите для свойства Visheet свойство Visibleскрытый - https://dev.office.com/reference/add-ins/excel/worksheet?product=excel
  4. Когда есть расчет - измените видимость на Visbile и выберите его.
  5. В конце удалите рабочий лист.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...