Skip to content

Instantly share code, notes, and snippets.

@uptonking
Created August 18, 2023 17:16
Show Gist options
  • Save uptonking/0107d90485a37609771bd5c1207d6893 to your computer and use it in GitHub Desktop.
Save uptonking/0107d90485a37609771bd5c1207d6893 to your computer and use it in GitHub Desktop.

Revisions

  1. uptonking created this gist Aug 18, 2023.
    58 changes: 58 additions & 0 deletions Basic API call (TypeScript).EXCEL.yaml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,58 @@
    name: Basic API call (TypeScript)
    description: Performs a basic Excel API call using TypeScript.
    host: EXCEL
    api_set: {}
    script:
    content: |
    $("#run").click(() => tryCatch(run));
    async function run() {
    await Excel.run(async (context) => {
    const range = context.workbook.getSelectedRange();
    range.format.fill.color = "#e7bb7c";
    range.load("address");
    await context.sync();
    console.log(`The range address was "${range.address}".`);
    });
    }
    /** 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\t<p class=\"ms-font-m\">This sample demonstrates basic Excel API calls.</p>\n</section>\n\n<section class=\"samples ms-font-m\">\n\t<h3>Try it out</h3>\n\t<p class=\"ms-font-m\">Select some cells in the worksheet, then press <b>Highlight selected range</b>.</p>\n\t<button id=\"run\" class=\"ms-Button\">\n <span class=\"ms-Button-label\">Highlight selected range</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]