4

Gets the full paragraph containing the insertion point.

 2 years ago
source link: https://gist.github.com/xiruatms/848f967c0ded5aaa0ffd59c69a7045d9
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Gets the full paragraph containing the insertion point. · GitHub

Instantly share code, notes, and snippets.

Gets the full paragraph containing the insertion point.

name: Get paragraph from insertion point description: Gets the full paragraph containing the insertion point. host: WORD api_set: {} script: content: | $("#get-field").click(() => tryCatch(getField)); $("#get-body-field").click(() => tryCatch(getBodyField)); $("#get-next-field").click(() => tryCatch(getNextField)); $("#get-para-field").click(() => tryCatch(getParaField)); $("#get-field-range").click(() => tryCatch(getFieldRange)); async function getFieldRange() { await Word.run(async (context) => { let para = context.document.body.paragraphs.getFirst(); let range1 = para.getRange(); range1.load("*"); await context.sync(); console.log(range1.text); para.load("fields"); await context.sync(); fields = para.fields; await context.sync(); console.log(fields.items.length); for (let i = 0; i < fields.items.length; i++) { field = fields._GetItem(i); field.load("*"); let rang = field.getRange(); rang.load("text"); await context.sync(); console.log("Code:\n\n" + field.code); console.log("Result:\n\n" + field.result); console.log("Range.text:\n\n" + rang.text); } //var field = paragraph.fields.getFirst(); //field.delete(); await context.sync(); }); } async function getParaField() { await Word.run(async (context) => { let para = context.document.body.paragraphs.getFirst(); let para1 = para.getNext(); para1.load("fields"); await context.sync(); fields = para1.fields; await context.sync(); console.log(fields.items.length); for (let i = 0; i < fields.items.length; i++) { field = fields._GetItem(i); field.load("*"); await context.sync(); console.log("Code:\n\n" + field.code); console.log("Result:\n\n" + field.result); } //var field = paragraph.fields.getFirst(); //field.delete(); await context.sync(); }); } async function getNextField() { await Word.run(async (context) => { let para = context.document.body.paragraphs.getFirst(); let para1 = para.getNext(); para1.load("*"); await context.sync(); console.log(para1.text); let body = context.document.body; body.load("fields"); await context.sync(); fields = body.fields; //fields.load("*"); await context.sync(); console.log(fields.items.length); field = fields._GetItem(0); field.load("*"); await context.sync(); console.log("First field.code:" + field.code); let field1 = field.getNext(); field1.load("*"); await context.sync(); console.log("Next Code:\n\n" + field1.code); console.log("Next Result:\n\n" + field1.result); //var field = paragraph.fields.getFirst(); //field.delete(); await context.sync(); }); } async function getBodyField() { await Word.run(async (context) => { let body = context.document.body; body.load("fields"); await context.sync(); fields = body.fields; //fields.load("*"); await context.sync(); console.log(fields.items.length); for (let i = 0; i < fields.items.length; i++) { field = fields._GetItem(i); field.load("parentBody"); await context.sync(); let body = field.parentBody; // console.log("Code: \n\n" + field.code); //field.load("*"); //await context.sync(); //console.log("Result: \n\n" + JSON.stringify(field.result)); //console.log("Parentbody: \n\n" + JSON.stringify(field.parentbody)); body.load("*"); await context.sync(); console.log(body.text); } //var field = paragraph.fields.getFirst(); //field.delete(); await context.sync(); }); } async function getField() { await Word.run(async (context) => { let paragraph = context.document.getSelection(); paragraph.load("fields"); await context.sync(); fields = paragraph.fields; fields.load("*"); await context.sync(); console.log(fields.items.length); //console.log(fields.items[1].code); for (let i = 0; i < paragraph.fields.items.length; i++) { field = paragraph.fields.items[i]; //field.load(); //await context.sync(); console.log("Code: \n\n" + field.code); console.log("Result: \n\n" + JSON.stringify(field.result)); } //var field = paragraph.fields.getFirst(); //field.delete(); await context.sync(); }); } /** 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); } } language: typescript template: content: "<section class=\"ms-font-m\">\n\tThis sample demonstrates how to get the fields in a selected paragraph.\n\tpoint.\n</section>\n\n<!--section class=\"setup ms-font-m\">\n\t<h3>Set up</h3>\n\t<button id=\"setup\" class=\"ms-Button\">\n <span class=\"ms-Button-label\">Setup</span>\n </button>\n</section -->\n\n<section class=\"samples ms-font-m\">\n\t<h3>Try it out</h3>\n\t<span class=\"ms-font-m\">Select an insertion point in the document.</span>\n\t<p>\n\t\t<button id=\"get-field\" class=\"ms-Button\">\n <span class=\"ms-Button-label\">Get Fields</span>\n </button>\n\t\t<p>\n\t\t<p>\n\t\t\t<button id=\"get-body-field\" class=\"ms-Button\">\n\t\t <span class=\"ms-Button-label\">Get Body Fields</span>\n\t\t </button>\n\t\t\t<p>\n\t\t<p>\n\t\t\t<button id=\"get-next-field\" class=\"ms-Button\">\n\t\t\t\t <span class=\"ms-Button-label\">Get next Fields</span>\n\t\t\t\t </button>\n\t\t\t<p>\n\t\t<p>\n\t\t\t<button id=\"get-para-field\" class=\"ms-Button\">\n\t\t\t\t\t\t <span class=\"ms-Button-label\">Get paragraph Fields</span>\n\t\t\t\t\t\t </button>\n\t\t\t<p>\n\n\t\t<p>\n\t\t\t<button id=\"get-field-range\" class=\"ms-Button\">\n\t\t\t\t\t\t\t\t <span class=\"ms-Button-label\">Get Field Range</span>\n\t\t\t\t\t\t\t\t </button>\n\t\t\t<p>\n\t\t\t<!--button id=\"get-sentences\" class=\"ms-Button\"-->\n <!--span class=\"ms-Button-label\">Get sentences</span-->\n <!--/button-->\n</section>" language: html style: content: |- section.samples { margin-top: 20px; } section.samples .ms-Button, section.setup .ms-Button { display: block; margin-bottom: 5px; margin-left: 20px; min-width: 80px; } language: css libraries: |- https://appsforoffice.microsoft.com/lib/1/hosted/office.js @types/office-js [email protected]/dist/css/fabric.min.css [email protected]/dist/css/fabric.components.min.css [email protected]/client/core.min.js @types/core-js [email protected] @types/[email protected]


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK