Office.js Наличие пользовательского свойства - PullRequest
0 голосов
/ 12 июня 2018

Я пытаюсь увидеть существование пользовательского свойства, используя офис js.У меня возникают проблемы с получением информации о существовании.

Excel.run(async (context) => {              
            let customDocProperties = context.workbook.properties.custom;
            let customProperty = customDocProperties.getItem("prop");
            customProperty.load("key, value");
            await context.sync();
            console.log(customProperty);
}

В приведенном выше случае, если свойство "prop" доступно, код работает без проблем.Если отсутствует «prop» или какие-либо пользовательские свойства, код не будет продолжен.

Как сломать код, если такого свойства нет или нет пользовательских свойств?

Кроме того, я пробовал следующий код.В этом случае код зависает, и в памяти Excel происходит скачок (в ГБ) при наличии любого настраиваемого свойства.

customDocProperties.load('items');
await context.sync();
console.log(customDocProperties.items.length);

Спасибо

1 Ответ

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

Попробуйте использовать getItemOrNullObject () вместо getItem ().Ниже приведен пример:

Excel.run(async (context) => {              
    let customDocProperties = context.workbook.properties.custom;
    let customProperty = customDocProperties.getItemOrNullObject("prop");
    customProperty.load("key, value");
    await context.sync();

    if (customProperty.isNullObject) {
        //Handle case where the custom property does not exist.
    }
    else
        console.log(customProperty);
    })

}

Для получения дополнительной информации см. CustomPropertyCollection .

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