Created
July 12, 2023 04:38
-
-
Save theangkko/6bdac570a1fca5d16e50e9f69882dd52 to your computer and use it in GitHub Desktop.
OfficeJS-JavaScript & Promises
by theangkko
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: tgJS | |
description: |- | |
OfficeJS-JavaScript & Promises | |
by theangkko | |
host: EXCEL | |
api_set: {} | |
script: | |
content: | | |
$("#run").click(() => tryCatch(run)); | |
function run() { | |
return Excel.run(function(context) { | |
var range = context.workbook.getSelectedRange(); | |
range.format.fill.color = "yellow"; | |
range.load("address"); | |
return context.sync().then(function() { | |
console.log('The range address was "' + range.address + '".'); | |
}); | |
}); | |
} | |
/** Default helper for invoking an action and handling errors. */ | |
function tryCatch(callback) { | |
Promise.resolve() | |
.then(callback) | |
.catch(function(error) { | |
// Note: In a production add-in, you'd want to notify the user through your add-in's UI. | |
console.error(error); | |
}); | |
} | |
$("#formula").click(() => tryCatch(formula)); | |
function formula() { | |
return Excel.run(async (context) => { | |
// let sheet = context.workbook.worksheets.getItem("Sample"); | |
// let range = sheet.getRange("E3"); | |
var range = context.workbook.getSelectedRange(); | |
range.formulas = [["=B2 * B3"]]; | |
range.format.autofitColumns(); | |
await context.sync(); | |
}); | |
} | |
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\n\t<p class=\"ms-font-m\">Select some cells in the worksheet, then press <b>Input formula in selected range</b>.</p>\n\t<button id=\"formula\" class=\"ms-Button\">\n\t <span class=\"ms-Button-label\">Insert Formula selected range</span>\n\t </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 | |
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment