name: Custom document properties description: Adds and reads custom document properties of different types. host: WORD api_set: {} script: content: | $("#number").click(() => tryCatch(insertNumericProperty)); $("#string").click(() => tryCatch(insertStringProperty)); $("#read").click(() => tryCatch(readCustomDocumentProperties)); async function insertNumericProperty() { await Word.run(async (context) => { context.document.properties.customProperties.add("Numeric Property", 14); await context.sync(); console.log("Property added"); }); } async function insertStringProperty() { await Word.run(async (context) => { context.document.properties.customProperties.add("String Property", "Hello World!"); 23 await context.sync(); console.log("Property added"); }); } async function readCustomDocumentProperties() { await Word.run(async (context) => { const properties = context.document.properties.customProperties; properties.load("key,type,value"); await context.sync(); for (let i = 0; i < properties.items.length; i++) console.log( "Property Name:" + properties.items[i].key + "; Type=" + properties.items[i].type + "; Property Value=" + properties.items[i].value ); }); } /** Default helper for invoking an action and handling errors. */ async function tryCatch(callback) { try { await callback(); } catch (error) { // Note: In a production add-in, you'd want to notify the user through your add-in's UI. console.error(error);
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter