order: 7 id: word-paragraph-search name: Search description: Shows basic and advanced search capabilities. author: OfficeDev host: WORD api_set: WordApi: '1.1' script: content: | $("#setup").on("click", () => tryCatch(setup)); $("#basic-search").on("click", () => tryCatch(basicSearch)); $("#wildcard-search").on("click", () => tryCatch(wildcardSearch)); async function basicSearch() { // Does a basic text search and highlights matches in the document. await Word.run(async (context) => { const results : Word.RangeCollection = context.document.body.search("extend"); results.load("length"); await context.sync(); // Let's traverse the search results and highlight matches. for (let i = 0; i < results.items.length; i++) { results.items[i].font.highlightColor = "yellow"; } await context.sync(); }); } async function wildcardSearch() { // Does a wildcard search and highlights matches in the document. await Word.run(async (context) => { // Construct a wildcard expression and set matchWildcards to true in order to use wildcards. const results : Word.RangeCollection = context.document.body.search("$*.[0-9][0-9]", { matchWildcards: true }); results.load("length"); await context.sync(); // Let's traverse the search results and highlight matches. for (let i = 0; i < results.items.length; i++) { results.items[i].font.highlightColor = "red"; results.items[i].font.color = "white"; } await context.sync(); }); } async function setup() { await Word.run(async (context) => { const body: Word.Body = context.document.body; body.clear(); body.insertParagraph( "Do you want to create a solution that extends the functionality of Word? You can use the Office Add-ins platform to extend Word clients running on the web, on a Windows desktop, or on a Mac.", "Start" ); body.paragraphs .getLast() .insertText( "Use add-in commands to extend the Word UI and launch task panes that run JavaScript that interacts with the content in a Word document. Any code that you can run in a browser can run in a Word add-in. Add-ins that interact with content in a Word document create requests to act on Word objects and synchronize object state.", "Replace" ); await context.sync(); }); } 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: |-
This sample demonstrates basic and advanced search capabilities of the API.

Set up

Try it out

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 office-ui-fabric-js@1.4.0/dist/css/fabric.min.css office-ui-fabric-js@1.4.0/dist/css/fabric.components.min.css core-js@2.4.1/client/core.min.js @types/core-js jquery@3.1.1 @types/jquery@3.3.1