Skip to content

Instantly share code, notes, and snippets.

@ErickPetru
Created May 18, 2021 21:21
Show Gist options
  • Save ErickPetru/4208a5f0fbc0ce70561ea3db19e502b5 to your computer and use it in GitHub Desktop.
Save ErickPetru/4208a5f0fbc0ce70561ea3db19e502b5 to your computer and use it in GitHub Desktop.
Calcula operações aritméticas básicas a partir dos dados extraídos da planilha aberta.
name: Aritmética Básica
description: >-
Calcula operações aritméticas básicas a partir dos dados extraídos da planilha
aberta.
host: EXCEL
api_set: {}
script:
content: |
const calc = document.getElementById("calc");
calc.addEventListener("click", async () => {
await Excel.run(async (context) => {
const sheet = context.workbook.worksheets.getActiveWorksheet();
const inputRange = sheet.getRange("B2:B4");
inputRange.load("values");
await context.sync();
const n1 = parseFloat(inputRange.values[0][0]);
const n2 = parseFloat(inputRange.values[1][0]);
const op = inputRange.values[2][0];
let r;
if (op === "Soma") {
r = n1 + n2;
} else if (op === "Subtração") {
r = n1 - n2;
} else if (op === "Multiplicação") {
r = n1 * n2;
} else if (op === "Divisão") {
r = n1 / n2;
}
if (isNaN(r)) {
r = "Erro";
}
const outputRange = sheet.getRange("B5");
outputRange.values = [[r]];
await context.sync();
});
});
language: typescript
template:
content: "<section class=\"ms-font-m\">\n\t<h1>Aritmética Básica</h1>\n\n\t<p>Este suplemento calcula operações aritméticas básicas a partir dos dados extraídos da planilha aberta, desde que\n\t\ttal planilha esteja montada exatamente com esta estrutura:</p>\n\n\t<table>\n\t\t<tr>\n\t\t\t<td>&nbsp;</td>\n\t\t\t<td>A</td>\n\t\t\t<td>B</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>1</td>\n\t\t\t<td colspan=\"2\">Calculadora</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>2</td>\n\t\t\t<td>Número 1\n\t\t\t<td>&nbsp;</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>3</td>\n\t\t\t<td>Número 2\n\t\t\t<td>&nbsp;</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>4</td>\n\t\t\t<td>Operação\n\t\t\t<td>&nbsp;</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>5</td>\n\t\t\t<td>Resultado\n\t\t\t<td>&nbsp;</td>\n\t\t</tr>\n\t</table>\n\n\t<p class=\"ms-font-s ms-fontColor-redDark\">\n\t\tObservação: os valores válidos para a coluna <i>Operação</i> são <b>Soma</b>, <b>Subtração</b>,\n\t\t<b>Multiplicação</b> e <b>Divisão</b>.\n\t</p>\n\n\t<p>Após preencher as células da planilha ao lado, clique no botão abaixo:</p>\n</section>\n\n<button id=\"calc\" class=\"ms-Button\">\n <span class=\"ms-Button-label\">Calcular</span>\n</button>"
language: html
style:
content: "table {\r\n table-layout: fixed;\r\n border-collapse: collapse;\r\n margin-bottom: 1rem;\r\n}\r\n\r\ntable td:nth-child(1),\r\ntable tr:nth-child(1) td {\r\n width: 45px;\r\n background: ButtonFace;\r\n color: ButtonShadow;\r\n padding: 2px;\r\n text-align: center;\r\n font-size: 0.875rem;\r\n}\r\n\r\ntable td:not(:nth-child(1)) {\r\n width: 100px;\r\n}\r\n\r\ntable tr:not(:nth-child(1)) td:not(:nth-child(1)) {\r\n padding: 2px 4px;\r\n border: 1px solid #000;\r\n}\r\n\r\ntable tr:nth-child(2) td:not(:nth-child(1)) {\r\n border-top-width: 2px;\r\n border-left-width: 2px;\r\n border-right-width: 2px;\r\n text-align: center;\r\n font-weight: bold;\r\n}\r\n\r\ntable tr:not(:nth-child(1)) td:nth-child(2) {\r\n border-left-width: 2px;\r\n font-weight: bold;\r\n}\r\n\r\ntable tr:not(:nth-child(1)) td:nth-child(3) {\r\n border-right-width: 2px;\r\n}\r\n\r\ntable tr:nth-child(6) td:not(:nth-child(1)) {\r\n border-bottom-width: 2px;\r\n}\r\n"
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment