Office.js自定义属性的存在

时间:2018-06-11 22:01:54

标签: office-js

我试图看到使用office 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"或任何可用的惯例,代码不会进一步。

如果没有此类属性或没有可用的自定义属性,如何破解代码?

另外,我尝试了以下代码。在这种情况下,当有任何自定义属性可用时,代码会挂起并优于内存峰值(以GB为单位)。

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

由于

1 个答案:

答案 0 :(得分:1)

尝试使用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