Я хочу сохранить различные размеры данных пользовательских настроек в настройках Excel. Но когда пользовательская настройка слишком велика, saveAsyn c не сохраняет, что и ожидается - существует ограничение в 2 МБ на надстройку.
https://docs.microsoft.com/en-us/javascript/api/office/office.settings?view=word-js-preview
Это мой текущий код:
const bigJsonString = "Very big string";
const jsonObject = JSON.parse(stringValue);
Office.context.document.settings.set('mydata', jsonObject);
Office.context.document.settings.saveAsync((result)=>{
...
});
Я знаю, что saveAsyn c вызовет метод обратного вызова с результатом. Но почему-то это работает для Office 365, но не для рабочего стола Excel.
Я хочу измерить размер jsonObject или bigJsonString , и если он больше 2 МБ, остановите установить и saveAsyn c звонки
Примерно так:
const bigJsonString = "Very big string";
const jsonObject = JSON.parse(stringValue);
if(GetSize(jsonObject) > 2){
// acknowledge user that add-in can't save customsetting.
} else {
Office.context.document.settings.set('mydata', jsonObject);
Office.context.document.settings.saveAsync((result)=>{
...
}
});
Как Office- JS измерить размер настроек объект? (Я хочу mimi c)
Обновление (примечание):
Судя по приведенной ниже ссылке, похоже, что Microsoft удалила это ограничение в 2 МБ.
Какое ограничение офисных настроек для Excel Добавить в